BeatCloud is a modern music streaming application built with Django. It offers all the essential features and functionalities for an immersive music listening experience.
- User Authentication & Authorization: Secure access with JWT.
- Music Management: Upload, manage, and stream your favorite tracks.
- Singer & Album Management: Organize music by artists and albums.
- Genre Classification: Categorize music by genres.
- Cloud Storage: Store music files securely using Google Cloud Storage.
-
Clone the repository:
git clone https://github.com/your-username/harmonystream.git cd harmonystream
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Set up your Google Cloud Storage credentials:
- Obtain your service account JSON file from Google Cloud.
- Add the file to your project directory.
- Update your
settings.py
with the path to your service account file and your Google Cloud Storage bucket name.
-
Run migrations:
python manage.py makemigrations python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
Access the admin panel:
Open your browser and go to
http://localhost:8000/admin/
. Log in with the superuser account you created.
-
Obtain JWT Token:
POST /api/token/
Request body:
{ "username": "your-username", "password": "your-password" }
-
Refresh JWT Token:
POST /api/token/refresh/
Request body:
{ "refresh": "your-refresh-token" }
-
Music Tracks:
- List and create music tracks:
(Authentication required)
GET /api/music/ POST /api/music/
- List and create music tracks: