Initial commit: Hördle Web App
This commit is contained in:
64
README.md
Normal file
64
README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Hördle
|
||||
|
||||
Eine Web-App inspiriert von Heardle, bei der Nutzer täglich einen Song anhand kurzer Audio-Schnipsel erraten müssen.
|
||||
|
||||
## Features
|
||||
|
||||
- **Tägliches Rätsel:** Jeden Tag ein neuer Song für alle Nutzer.
|
||||
- **Inkrementelle Hinweise:** Startet mit 2 Sekunden, dann 4s, 7s, 11s, 16s, bis 30s.
|
||||
- **Admin Dashboard:**
|
||||
- Upload von MP3-Dateien.
|
||||
- Automatische Extraktion von ID3-Tags (Titel, Interpret).
|
||||
- Bearbeitung von Metadaten.
|
||||
- Sortierbare Song-Bibliothek.
|
||||
- **Teilen-Funktion:** Ergebnisse können als Emoji-Grid geteilt werden.
|
||||
- **Persistenz:** Spielstatus wird lokal im Browser gespeichert.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Framework:** Next.js 14 (App Router)
|
||||
- **Styling:** Vanilla CSS
|
||||
- **Datenbank:** SQLite (via Prisma ORM)
|
||||
- **Deployment:** Docker & Docker Compose
|
||||
|
||||
## Lokale Entwicklung
|
||||
|
||||
1. Abhängigkeiten installieren:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
2. Datenbank initialisieren:
|
||||
```bash
|
||||
npx prisma generate
|
||||
npx prisma db push
|
||||
```
|
||||
|
||||
3. Entwicklungsserver starten:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
Die App läuft unter `http://localhost:3000`.
|
||||
|
||||
## Deployment mit Docker
|
||||
|
||||
Das Projekt ist für den Betrieb mit Docker optimiert.
|
||||
|
||||
1. **Starten:**
|
||||
```bash
|
||||
docker compose up --build -d
|
||||
```
|
||||
Die App ist unter `http://localhost:3010` erreichbar (Port in `docker-compose.yml` konfiguriert).
|
||||
|
||||
2. **Daten-Persistenz:**
|
||||
- Die SQLite-Datenbank wird im Ordner `./data` gespeichert.
|
||||
- Hochgeladene Songs liegen in `./public/uploads`.
|
||||
- Beide Ordner werden als Docker Volumes eingebunden, sodass Daten auch bei Container-Neustarts erhalten bleiben.
|
||||
|
||||
3. **Admin-Zugang:**
|
||||
- URL: `/admin`
|
||||
- Standard-Passwort: `admin123` (Bitte in `docker-compose.yml` ändern!)
|
||||
|
||||
## Lizenz
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user