83 lines
2.8 KiB
Markdown
83 lines
2.8 KiB
Markdown
# Quizify – Music Quiz with Spotify
|
||
|
||
Quizify is a music quiz that uses your Spotify playlists. Guess the artist, title, or release year of songs from your own playlists – directly in your browser!
|
||
|
||
## Features
|
||
|
||
- Login with Spotify
|
||
- Select your own playlists
|
||
- Multiple game modes: Guess artist, title, or year
|
||
- **Singleplayer and Local Multiplayer** (up to 4 players, each with their own score)
|
||
- Adjustable play duration and random start position for each song
|
||
- Spotify Web Playback (play songs directly in the browser)
|
||
- No song repeats until all have been played
|
||
- Smart search and answer evaluation (ignores bracket additions, apostrophes, etc.)
|
||
- Multilingual: All texts are loaded from language files, language is set via `.env`
|
||
- Invite/Referral link system for easy sharing
|
||
- Dockerfile included – ready for deployment with [Coolify](https://coolify.io/) or any Docker-compatible platform
|
||
|
||
## Requirements
|
||
|
||
- Python 3.10 or newer
|
||
- Spotify Developer Account ([developer.spotify.com](https://developer.spotify.com/))
|
||
- Spotify Premium Account (for Web Playback)
|
||
- Environment variables must be set (see `.env.example`)
|
||
|
||
## Installation
|
||
|
||
1. **Clone the repository**
|
||
```sh
|
||
git clone https://gitea.devanturas.net/Simon/quizify.git
|
||
cd quizify
|
||
```
|
||
|
||
2. **Create the .env file**
|
||
Copy `.env.example` to `.env` and enter your Spotify API credentials.
|
||
|
||
3. **Start on Windows**
|
||
```sh
|
||
start.bat
|
||
```
|
||
|
||
Or manually:
|
||
```sh
|
||
python -m venv ven
|
||
ven\Scripts\activate
|
||
pip install -r requirements.txt
|
||
python app.py
|
||
```
|
||
|
||
4. **Open in your browser**
|
||
- [http://localhost:5000](http://localhost:5000)
|
||
|
||
## Docker / Coolify
|
||
|
||
Quizify comes with a ready-to-use `Dockerfile`.
|
||
You can deploy it on [Coolify](https://coolify.io/) or any Docker-compatible platform.
|
||
|
||
**Build and run locally:**
|
||
```sh
|
||
docker build -t quizify .
|
||
docker run --env-file .env -p 5000:5000 quizify
|
||
```
|
||
|
||
**Coolify:**
|
||
Just connect your repository, set your environment variables in Coolify, and deploy.
|
||
The app will be available on port 5000 by default.
|
||
|
||
## .env Example
|
||
|
||
See `.env.example` for the required variables.
|
||
|
||
## Notes
|
||
|
||
- The app requires a Spotify Premium account for the Web Playback feature.
|
||
- The Spotify Redirect URI must exactly match `SPOTIPY_REDIRECT_URI` in the Spotify Developer Console.
|
||
- All texts are loaded from language files in the `locales` folder. Set the language via the `LANG` variable in your `.env` (e.g., `LANG=en-EN` or `LANG=de-DE`).
|
||
- You can set the play duration and start position for each song in the quiz interface.
|
||
- **Local Multiplayer:** After selecting "Local Multiplayer", you can enter up to 4 player names. Each player takes turns and has their own score.
|
||
- **Referral/Invite Link:** Generate a time-limited invite link to let friends join your quiz session (each with their own Spotify account).
|
||
|
||
## License
|
||
|
||
MIT License |