A music recommendation REST API which makes a machine learning algorithm work with the Django REST Framework.
How it works
The REST API has a simple operational flow which goes like so :
- User signs up at the
- User logs in using Django REST Framework's basic authentication via the
- After successful authentication user can then navigate to the
The code I have designed is connected directly to a packaged machine learning model, a user signs up by providing data such as gender, age, name etc. Once a sign up is successful then the user can login to use the
/recommend endpoint to get recommendations on music that best fits the user's age/gender. Music Albums are stored in an SQLite database and are picked then displayed to user at the
/recommend endpoint. Now the question is what's the process look like in simple steps? :
- User signs up and provides info like gender, age, name, etc..
- Once user logs in and navigates to
/recommendendpoint, the back end will send that authenticated user's age & gender to the packaged ML model for evaluation / to get a prediction on what genre of music would be best for the user's age/gender type.
- once a genre is predicted by ML model the result is sent to a queryset for filtering thus returning music from the database the REST API is connected to which has the genre that was predicted in the first place.
- run the command
pip3 install -r requirements.txtto install required libraries
- setup migrations by running command
python3 manage.py makemigrations accountsand
python3 manage.py makemigrations api
- finally apply migrations by running command
python3 manage.py migrate
- create a super user for accessing
/adminby running command
python3 manage.py createsuperuser
- after that just fill the database with some albums of different genres from the admin panel
- and you are Done!