Skip to content

Trackify - is your personal music collection where every track and playlist has its place. Easily add, update and share music with friends. Manage your music world wherever you are.

Notifications You must be signed in to change notification settings

Lalka12235/Trackify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎡 Trackify

Trackify is a convenient application for managing your music collection that allows you to add, update, and delete tracks and playlists. Save your favorite tracks, create personalized playlists, and share them with friends.

πŸ›  Tech Stack

  • Backend: Python (FastAPI)
  • Database: PostgreSQL
  • ORM: SQLAlchemy
  • Containerization: Docker
  • Authentication: JWT

πŸš€ Installation & Setup

Local Installation

# 1. Clone repository
git clone https://github.com/yourusername/trackify.git
cd trackify

# 2. Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate    # Windows

# 3. Install dependencies
pip install -r requirements.txt
Docker Setup
bash
Copy
# Build images
docker-compose build

# Start containers
docker-compose up
The application will be available at: http://localhost:8000

πŸ” Authentication
JWT authentication is required to work with the API.

Register
POST /api/v1/auth/register

Request: json


{
  "username": "your_username",
  "password": "your_password"
}

Response: json


{
  "access_token": "your_jwt_token",
  "token_type": "bearer"
}
Login
POST /api/v1/auth/login

Request: json


{
  "username": "your_username",
  "password": "your_password"
}

Response: Same as registration

🎧 Track Management
Get Track
GET /api/v1/track/choose-track

Parameters:

username (string)

track_title (string)

track_artist (string)

Response: json


{
  "message": "Get one track",
  "detail": {
    "title": "track_title",
    "artist": "track_artist",
    "url": "track_url"
  }
}


Upload Track
POST /api/v1/track/upload-track

Request: json


{
  "title": "track_title",
  "artist": "track_artist",
  "url": "track_url"
}


πŸ“‚ Playlist Management
Create Playlist
POST /api/v1/playlist/create-playlist

Request: json


{
  "title": "playlist_title"
}
Response: json


{
  "message": "create playlist",
  "detail": {
    "title": "playlist_title"
  }
}

πŸ“Œ Additional Information
API Documentation http://127.0.0.1:8000/docs#/

Built with ❀️ for music lovers

About

Trackify - is your personal music collection where every track and playlist has its place. Easily add, update and share music with friends. Manage your music world wherever you are.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages