Purpose | Technology |
---|---|
Frontend | VueJS, HTML, CSS |
Backend | Python, flask, redis, celery |
Database | SQLite3 |
Pre-requisite: git installed in your system
git clone https://github.com/Ashrockzzz2003/music_app_v2_frontend_iitm.git
Pre-requisite: python, Node.js, redis
# Open a new terminal window at the root directory of the project
# Start the redis server
redis-server
# Open a new terminal window at the root directory of the project
cd server
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
# Open a new terminal window at the root directory of the project
cd server
source venv/bin/activate
celery -A app.celery worker -l info # Worker for Celery
# Open a new terminal window at the root directory of the project
cd server
source venv/bin/activate
celery -A app.celery beat --max-interval 1 -l info # Beat for Celery
# Open a new terminal window at the root directory of the project
cd music_app_v2
npm i
npm run dev
- Authentication
- Login RBAC
- Register (OTP-based)
- Forgot Password (OTP-based)
- Admin
- Get Profile
- Language
- Create New Language
- Get All Languages
- Get Language by ID
- Update Language by ID
- Toggle Language Status by ID
- Genre
- Create New Genre
- Get All Genres
- Get Genre by ID
- Update Genre by ID
- Toggle Genre Status by ID
- Song
- Create New Song
- Query All Songs
- Get Song by ID
- Update Song by ID
- Delete Song by ID
- Toggle Song Status by ID
- Like/Dislike Song by ID
- Playlist
- Create New Playlist
- Query All Playlists (All Public Playlists)
- Get Playlist by ID
- Update Playlist by ID
- Delete Playlist by ID
- Add Song to Playlist
- Remove Song from Playlist
- Toggle Playlist Status (Public/Private) by ID
- Like/Dislike Playlist by ID
- Album
- Create New Album
- Query All Albums
- Get Album by ID
- Update Album by ID
- Delete Album by ID
- Add Song to Album
- Remove Song from Album
- Toggle Album Status by ID
- Artist
- Query All Artists
- Get Artist by ID
- Toggle Artist Status by ID
- Query All Songs by Artist
- Query All Albums by Artist
- Stats
- Public
- Language
- Get All Languages
- Get Language by ID
- Genre
- Get All Genres
- Get Genre by ID
- Song
- Query All Songs
- Get Song by ID
- Album
- Query All Albums
- Get Album by ID
- Playlist
- Query All Playlists (All Public Playlists)
- Get Playlist by ID
- Language
- User
- Register as Creator
- Get Profile
- Playlist
- Create New Playlist
- Query All Playlists (All Playlists that are visible)
- Get Playlist by ID
- Update Playlist by ID
- Delete Playlist by ID
- Add Song to Playlist
- Remove Song from Playlist
- Toggle Playlist Status (Public/Private) by ID
- Like/Dislike Playlist by ID
- Album
- All Albums
- Query All Albums
- Get Album by ID
- Song
- Query All Songs
- Get Song by ID
- Like/Dislike Song by ID
- Creator
- Get Profile
- Language
- Create New Language
- Get All Languages
- Get Language by ID
- Update Language by ID
- Toggle Language Status by ID
- Genre
- Create New Genre
- Get All Genres
- Get Genre by ID
- Update Genre by ID
- Toggle Genre Status by ID
- Song
- Create New Song
- Query All Songs
- My Songs (All Songs of User)
- Get Song by ID
- Update Song by ID
- Delete Song by ID
- Toggle Song Status by ID
- Like/Dislike Song by ID
- Playlist
- Create New Playlist
- Query All Playlists (All Visible Playlists)
- Get Playlist by ID
- Update Playlist by ID
- Delete Playlist by ID
- Add Song to Playlist
- Remove Song from Playlist
- Like/Dislike Playlist by ID
- Toggle Playlist Status (Public/Private) by ID
- Album
- Create New Album
- Query All Albums
- Get Album by ID
- Update Album by ID
- Delete Album by ID
- Add Song to Album
- Remove Song from Album
- Toggle Album Status by ID
Ashwin Narayanan S