Elmar Kresse eca0891f74
Some checks failed
Build and Push Docker Image / docker (push) Failing after 5s
refactor: enhance git clone and registry login steps with improved token handling
2025-09-04 17:33:25 +02:00
2025-09-04 12:33:17 +02:00
2025-09-03 19:34:00 +02:00
2025-09-03 19:45:48 +02:00
2025-09-03 19:34:00 +02:00
2025-09-03 19:45:48 +02:00
2025-09-04 12:33:17 +02:00
2025-09-03 19:45:48 +02:00
2025-09-03 19:34:00 +02:00

Hitstar lokale Web-App (Prototyp)

Docker

Run the app in a container while using your local data/ music folder:

  1. Build the image
docker compose build
  1. Start the service
docker compose up -d
  1. 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

# 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.

Description
No description provided
Readme 2.1 MiB
Languages
TypeScript 53.6%
JavaScript 34.7%
HTML 9.8%
CSS 1.4%
Dockerfile 0.5%