Using the Spotify API to creat Games like e.g. Games or trivia quizzes is against the their terms and conditions. Therefor use/host it at your own risk.
Welcome to TuneQuest, a music guessing game that will put your music knowledge to the test! Inspired by the board game Hitster, TuneQuest brings the excitement and challenge of guessing iconic tracks right to your table. Are you a music aficionado? A casual listener? Or just someone who loves a good challenge? TuneQuest has something for everyone. With the whole Spotify library to choose from, there's always a new challenge awaiting you. How well do you know your favorite artists' discographies? Can you pinpoint the exact year that legendary albums were released? TuneQuest will push your memory and musical knowledge to the limit as you compete against friends or test your skills solo.
Due to the Spotify API restrictions, the game can only be played by users with a Spotify Premium account. Also due to the nature of web browsers in general, the first scanned song may not play automatically and you may have to click on the play button to start the song. This is a feature of the web browsers to prevent autoplaying of media content that is often times unwanted by the user.
If you want to run this project, you need to create a .env
file in the root of the project with the following content:
SPOTIFY_AUTHORIZE_URL=https://accounts.spotify.com/authorize
SPOTIFY_API_TOKEN_URL=https://accounts.spotify.com/api/token
SPOTIFY_REDIRECT_URI=https://localhost:3000/player
SPOTIFY_CLIENT_SECRET=xxx
SPOTIFY_CLIENT_ID=xxx
SPOTIFY_SCOPES=user-modify-playback-state streaming user-read-email user-read-private
NEXT_PUBLIC_TUNEQUEST_CREATE_URL=https://localhost:5173
To run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
To build the project:
npm run build
# or
yarn build
# or
pnpm build
# or
bun build
To run the non development server:
npm run start
# or
yarn start
# or
pnpm start
# or
bun start
Build the docker image:
docker build -t tunequest .
Create the following docker-compose.yaml
file:
services:
tunequest:
container_name: tunequest
image: tunequest
restart: unless-stopped
ports:
- 3000:3000
Run the docker image with docker compose:
docker-compose up -d
- Add compatibility with the original Hitster cards
- This is a painstaking process, as the original Hitster cards are not available online and I have to manually type them in.
- I will start with the cards I own and if you want to help me, please let me know.
- Add better error handling
- Improve the Docker Image to not bake in some of the environment variables
- Publish Docker image to Docker Hub
- If someone wants to help me with this, please let me know.