eca0891f7486e824929f668a188a973b99f43df0
Some checks failed
Build and Push Docker Image / docker (push) Failing after 5s
Hitstar – lokale Web-App (Prototyp)
Docker
Run the app in a container while using your local data/ music folder:
- Build the image
docker compose build
- Start the service
docker compose up -d
Notes:
- Your local
data/is mounted read/write at/app/datainside the container, so you can manage tracks on the host. - To rebuild after changes:
docker compose build --no-cache && docker compose up -d.
Lokales Multiplayer-Webspiel inspiriert von HITSTER. Nutzt eure MP3-Dateien im Ordner data/, eine Lobby mit Raum-Code sowie WebSockets für den Mehrspieler-Modus.
Features
- Lobby mit Raum-Erstellung und -Beitritt (Code)
- Mehrere Spieler pro Raum, Host startet das Spiel
- Lokale MP3-Wiedergabe via Browser-Audio (
/audio/<dateiname>) – keine externen Dienste - Einfache Rundenlogik: DJ scannt Lied, Spieler raten vor/nach (vereinfachte Chronologie)
- Token-Zähler (Basis); Gewinnbedingung: 10 korrekt platzierte Karten
Hinweis: Regeln sind vereinfacht; „HITSTER!“-Challenges und exakter Zwischenplatzierungsmodus sind als Ausbaustufe geplant.
Setup
- MP3-Dateien in
data/legen (Dateiname wird als Fallback-Titel genutzt; falls Tags vorhanden, werden Titel/Künstler/Jahr ausgelesen). - Abhängigkeiten installieren und Server starten.
PowerShell-Befehle
# In den Projektordner wechseln
Set-Location e:\git\hitstar
# Abhängigkeiten installieren
npm install
# Server starten
npm start
Dann im Browser öffnen: http://localhost:5173
Nutzung
- Namen setzen, Raum erstellen oder mit Code beitreten (Code wird angezeigt).
- Host klickt „Spiel starten“.
- DJ klickt „Lied scannen“; der Track spielt bei allen.
- Aktiver Spieler wählt „Vor“ oder „Nach“. Bei Erfolg wandert das Lied in seine Zeitleiste.
Ordnerstruktur
public/– Client (HTML/CSS/JS)server.js– Express + WebSocket Server, Game-Statedata/– eure MP3-Dateien
Git & Audio-Dateien
- In
.gitignoresind alle gängigen Audio-Dateitypen ausgeschlossen (z. B. .mp3, .wav, .flac, .m4a, .ogg, …). - Legt eure Musik lokal in
data/. Diese Dateien werden nicht ins Git-Repo eingecheckt und bleiben nur auf eurem Rechner.
Nächste Schritte (optional)
- „HITSTER!“-Challenges per Token mit Positionsauswahl (zwischen zwei Karten)
- Team-Modus, Pro-/Expert-Regeln, exaktes Jahr
- Persistenz (Räume/Spielstände), Reconnect
- Drag & Drop-Zeitleiste, visuelle Platzierung
Hinweis
Nur für privaten Gebrauch. Musikdateien bleiben lokal bei euch.
Description
Languages
TypeScript
53.6%
JavaScript
34.7%
HTML
9.8%
CSS
1.4%
Dockerfile
0.5%