Repository for Modern Application Development - 1, IITM BS Course Project.
The application is a multi-user music platform. Users can play music, read lyrics, rate songs, and create playlists. Creators contribute by adding new songs, albums, and lyrics, with albums containing multiple songs, and the system showcases the latest or highly-rated content. Admin has functionality to flag or delete songs and albums.
Project Live Deployed Link : https://modify.adhirajpandey.me/
- Python: programming language to drive the development stack
- HTML: for developing the web page
- Bootstrap: to make the frontend appealing and easily navigate
- Jinja: used for separation of logic and dynamic HTML rendering in the Flask app
- SQLite: database for storing users, songs, albums, playlist relational data
- Flask: a web framework for building the web application backend
- Flask-SQLAlchemy: used ORM for streamlined management of databases
- MatplotLib: to create graph and charts for admin insights
- Docker: To containerize and deploy the whole web application
The application follows the standard MVC architecture. The View of the application is created using HTML and Bootstrap. The Controller is created using Python and Flask. The Model is created using SQLite.
The features of the application are as follows:
- User authentication: Signup, Login and Admin Login
- Admin dashboard: To monitor performance and metrics
- User dashboard: To navigate through platform features
- Creator Profile: To customise and edit user profile
- Search Functionality: To search songs/albums/playlists
- Song management: To enable creator to edit/delete songs and albums
- Playlist management: To create, edit and delete playlists
- Music analytics: To help creator analyse his/her content performance
-
Youtube Demo Link: https://www.youtube.com/watch?v=OBMKyEXCnwo
-
Index Page Screenshot: