https://github.com/austin-s-h/pyjams
A collaborative Spotify playlist webapp
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
Repository
A collaborative Spotify playlist webapp
Basic Info
- Host: GitHub
- Owner: Austin-s-h
- Language: Python
- Default Branch: master
- Homepage: https://pyjams.sansterbioanalytics.com
- Size: 480 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
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
Clone the repository:
bash git clone https://github.com/Austin-s-h/pyjams.git cd pyjamsSystem 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 ```
Virtual Environment:
bash uv venv source .venv/bin/activate uv sync --all-extrasSetup Environment Variables and save with heroku config
bash cp .env.example .envRun migrations:
bash inv makemigrations && inv migrateStart 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
Performance Optimizations
- Implement caching for Spotify API responses
- Add async support for long-running operations
- Optimize database queries
Feature Enhancements
- Collaborative playlist suggestions
- Integration with more music services
- Social features (comments, likes, shares)
- Custom playlist analytics
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
- Fork the repository
- Create a feature branch
- Submit a pull request
License
MIT License
Owner
- Name: Austin Hovland
- Login: Austin-s-h
- Kind: user
- Location: Boston, MA
- Twitter: AustinHovland
- Repositories: 1
- Profile: https://github.com/Austin-s-h
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
- 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