- Real-time multiplayer music guessing game
- Websocket-based communication for instant updates
- Flexible scoring system with partial matching
- In-game commands for track management and hints
- Genre and year-based track selection
- PHP 8.2+
- Composer
- Node.js and npm
- SQLite
Sequentially
- composer installinstalls PHP dependencies
- npm installinstalls NodeJS dependencies
- Place your music in storage/app/music(MP3 files)
- touch database/database.sqlitecreates an empty database
- mv .env.example .envuse the default env file
- php artisan migrate:freshrebuilds the database
- php artisan reverb:installregenerates reverb keys and config (Answer Yes)
- php artisan music:scanscans your music, extracts ID3 tags and inserts in the database
- php artisan key:generategenerates a crypto key
Run these commands in separate terminal windows:
- php artisan serveruns the local webserver
- php artisan reverb:startruns the websocket
- npm run devruns the JS/CSS tools
Access the application at http://localhost:8000
- /next [genre|year] [genre|year]Select a new random track
- /ffFast forward the current track
- /clueReveal 20% of the track info (reduces potential points)
- /giveupReveal track info and end the current round
- /resetReset all user scores to zero
Note that the genre/year is not saved.
Consider the following sequence :
- call /next 2000 house
- The next track will be of genre containing House in decade 2000-2009
- call /next
- The next track will be totally random
Matching is not case sensitive.
- Exact matches for name, remix, or artist: 1 point each (max 3 points per track)
- Partial word matches (for a little of nwords):- Correct word, correct position: 1/npoint
- Correct word, wrong position: 1/n/2point
 
- Correct word, correct position: 
A minimum score of 0.33 is required for an answer to be accepted.
This application has no built-in authentication. It is intended for local network use only. To secure it for public deployment, consider implementing:
- HTTP Basic Authentication
- User registration and login system

