https://github.com/austin-s-h/pyjams

A collaborative Spotify playlist webapp

https://github.com/austin-s-h/pyjams

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary

Keywords

django music playlist postgresql python spotify
Last synced: 5 months ago · JSON representation

Repository

A collaborative Spotify playlist webapp

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
django music playlist postgresql python spotify
Created about 1 year ago · Last pushed 11 months ago
Metadata Files
Readme

README.md

PyJams

A Django-based web application for managing and sharing Spotify playlists collaboratively.

Features

  • Spotify OAuth2 Authentication
  • Playlist Management System
  • User Role Management
  • Collaborative Playlist Features
  • Real-time Search Integration
  • Responsive Design

Technology Stack

  • Python 3.13+
  • Django 5.1
  • Spotify Web API (via Spotipy)
  • PostgreSQL (for production)
  • SQLite (for development)
  • HTMX for dynamic interactions
  • Bootstrap for styling
  • WhiteNoise for static file serving

Project Structure

pyjams/ ├── pyjams/ # Main Django app │ ├── migrations/ # Database migrations │ ├── static/ # Static assets │ ├── templates/ # HTML templates │ ├── utils/ # Utility modules │ └── views/ # View controllers ├── tests/ # Test suite ├── manage.py # Django management script ├── Procfile # Heroku deployment config └── pyproject.toml # Project dependencies and config

Setup your own

To deploy your own version of pyjams that you administrate, you must create a Spotify Developer account and retrieve some credentials. Additionally, you must log in with heroku and create an application. Please follow this guide on Heroku

  1. Clone the repository: bash git clone https://github.com/Austin-s-h/pyjams.git cd pyjams

  2. System Dependencies: Tested on WSL2 (Ubuntu) ```bash

    uv https://docs.astral.sh/uv/

    curl -LsSf https://astral.sh/uv/install.sh | sh

    heroku cli https://devcenter.heroku.com/articles/heroku-cli

    curl https://cli-assets.heroku.com/install.sh | sh

    Create your own application, add postgres addon

    heroku create heroku addons:create heroku-postgresql:essential-0 ```

  3. Virtual Environment: bash uv venv source .venv/bin/activate uv sync --all-extras

  4. Setup Environment Variables and save with heroku config bash cp .env.example .env

  5. Run migrations: bash inv makemigrations && inv migrate

  6. Start development server: bash heroku local

Deployment

The application is configured for Heroku deployment. TODO: collect refrences

bash inv verify # Run tests and checks inv deploy # Deploy to Heroku

Work in Progress

  • [ ] Playlist versioning system
  • [ ] Advanced search filters
  • [ ] User activity tracking
  • [ ] Playlist recommendations
  • [ ] Bulk track management

Future Improvements

  1. Performance Optimizations

    • Implement caching for Spotify API responses
    • Add async support for long-running operations
    • Optimize database queries
  2. Feature Enhancements

    • Collaborative playlist suggestions
    • Integration with more music services
    • Social features (comments, likes, shares)
    • Custom playlist analytics
  3. Technical Improvements

    • Add more comprehensive test coverage
    • Implement WebSocket support for real-time updates
    • Enhanced error handling and monitoring
    • API documentation with OpenAPI/Swagger

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

License

MIT License

Owner

  • Name: Austin Hovland
  • Login: Austin-s-h
  • Kind: user
  • Location: Boston, MA

PhD | Bioinformatician and Molecular Biologist | Single Cell Genomics, Custom NGS Analysis, Long Read Transcriptomics. | D&D, Web3, Computer Hardware, Dogs

GitHub Events

Total
  • Push event: 54
  • Create event: 3
Last Year
  • Push event: 54
  • Create event: 3

Dependencies

pyproject.toml pypi
  • fastapi >=0.110.0
  • flask-sqlalchemy ^3.1.1
  • itsdangerous >=2.2.0
  • jinja2 >=3.1.3
  • python-dotenv >=1.0.1
  • python-jose [cryptography]>=3.3.0
  • python-multipart >=0.0.9
  • spotipy >=2.24.0
  • sqlmodel >=0.0.16
  • uvicorn >=0.27.1