Skip to content

BeatCloud is a modern music streaming application designed to provide an immersive and personalized listening experience. With a robust set of features, users can explore a vast library of music, create and manage playlists, discover new artists and albums, and enjoy seamless music streaming.

Notifications You must be signed in to change notification settings

bezhan2009/BeatCloud

Repository files navigation

BeatCloud

GitHub top language GitHub language count GitHub code size in bytes GitHub repo size GitHub last commit GitHub User's stars

Python Django

BeatCloud is a modern music streaming application built with Django. It offers all the essential features and functionalities for an immersive music listening experience.

Features

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

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/harmonystream.git
    cd harmonystream
  2. Create a virtual environment and activate it:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install dependencies:

    pip install -r requirements.txt
  4. 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.
  5. Run migrations:

    python manage.py makemigrations
    python manage.py migrate
  6. Create a superuser:

    python manage.py createsuperuser
  7. Run the development server:

    python manage.py runserver
  8. Access the admin panel:

    Open your browser and go to http://localhost:8000/admin/. Log in with the superuser account you created.

API Endpoints

  • 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:
      GET /api/music/
      POST /api/music/
      (Authentication required)

About

BeatCloud is a modern music streaming application designed to provide an immersive and personalized listening experience. With a robust set of features, users can explore a vast library of music, create and manage playlists, discover new artists and albums, and enjoy seamless music streaming.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages