A Music streaming app where users enjoy personalized playlists, rate songs, search and view lyrics, while creators upload, edit, and manage their tracks. Admins ensure content quality and policy adherence through user statistics monitoring and the ability to remove inappropriate content.
The following technologies were used to build this app:
- Flask for API and backend
- VueJS for UI
- Jinja2 templates
- Bootstrap
- SQLite for database
- Redis for caching
- Redis and Celery for batch jobs
The app has the following features:
- Flask security and token based authentication
- Role-based access control
- Create, edit, and manage personalized playlists
- Rate songs and view lyrics
- Explore existing songs and albums
- Upload, edit, and manage tracks (for creators)
- Monitor user statistics and song performance
- Remove inappropriate content (for admins)
- Daily reminder to post via email
- Monthly report via email
- Robust search functionality for songs and artists
To run this app on your local machine, follow these steps:
Install DB Browser for SQlite to manage database and Redis for jobs and database
1.Clone this repository
git clone https://github.com/suvarnak10/MUSIQ.git
cd 21f1003205
2.Open terminal inside this repository and run local_setup.sh to setup environment and isntall packages needed
sh local_setup.sh
3.Activate virtual environment
source .env/bin/activate
4.Run local_run.sh to run the app
sh local_run.sh
5.Open a new terminal branch to run celery worker
sh local_workers.sh
6.Open another terminal to run celery beat
sh local_beat.sh
7.Open browser and search
http://127.0.0.1:8000/