77 lines
2.5 KiB
Markdown
77 lines
2.5 KiB
Markdown
# Hitstar – lokale Web-App (Prototyp)
|
||
|
||
## Docker
|
||
|
||
Run the app in a container while using your local `data/` music folder:
|
||
|
||
1) Build the image
|
||
|
||
```powershell
|
||
docker compose build
|
||
```
|
||
|
||
2) Start the service
|
||
|
||
```powershell
|
||
docker compose up -d
|
||
```
|
||
|
||
3) Open http://localhost:5173
|
||
|
||
Notes:
|
||
- Your local `data/` is mounted read/write at `/app/data` inside 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
|
||
1. MP3-Dateien in `data/` legen (Dateiname wird als Fallback-Titel genutzt; falls Tags vorhanden, werden Titel/Künstler/Jahr ausgelesen).
|
||
2. Abhängigkeiten installieren und Server starten.
|
||
|
||
### PowerShell-Befehle
|
||
```powershell
|
||
# 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-State
|
||
- `data/` – eure MP3-Dateien
|
||
|
||
## Git & Audio-Dateien
|
||
- In `.gitignore` sind 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.
|