Skip to content

Ashrockzzz2003/music_app_v2_frontend_iitm

Repository files navigation

Music App v2 [IIT Madras]

Tech Stack

Purpose Technology
Frontend VueJS, HTML, CSS
Backend Python, flask, redis, celery
Database SQLite3

Demo Video

Watch Project Demo Video

How to run the app

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

Backend

# 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

Frontend

# Open a new terminal window at the root directory of the project
cd music_app_v2
npm i
npm run dev

API Endpoints

  • 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
  • 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

About

Music App with VueJS frontend and python-flask backend.

Topics

Resources

License

Stars

Watchers

Forks