A fun, board-game like drinking game - installable as a progressive web application
https://olli.info/drinks
| css | ||
| img | ||
| js | ||
| tests | ||
| .dockerignore | ||
| .gitattributes | ||
| desktop.htm | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.htm | ||
| luck.html | ||
| manifest.json | ||
| package.json | ||
| playwright.config.js | ||
| Readme.md | ||
| serviceWorker.js | ||
🍺 Drinks! - Das lustige Trinkspiel
Ein modernes, lustiges Trinkspiel für beliebig viele Spieler, das online sowie offline im Browser funktioniert.
Kontaktiere mich gerne für neue Features oder öffne einen Pull Request.
🎮 Features
- 🎲 Würfelbasiertes Brettspiel mit 100 Feldern
- 👥 2 oder mehr Spieler gleichzeitig
- 🎯 Verschiedene Aufgaben und Herausforderungen
- 🍀 Glücksmechanik beeinflusst Würfelergebnisse (Simulation)
- 💾 Automatisches Speichern des Spielfortschritts
- 📱 Responsive Design für Mobile und Desktop
- 🌐 Funktioniert offline (Progressive Web App)
- 🎨 Individuelle Spielerfarben
🚀 Quick Start
Spielen
Öffne einfach olli.info/drinks in deinem Browser oder lade das Repository herunter und öffne die Datei index.htm.
Entwicklung
# Lokalen Server starten (Port 8080)
npm run serve
# oder direkt mit Python:
python3 -m http.server 8080
# Browser öffnen
open http://localhost:8080
# Tests mit Docker ausführen
docker build -t drinks-tests . && docker run --rm drinks-tests npm test
🛠️ Entwicklung
Voraussetzungen
- Browser
- Node.js 20+ (nur für Tests)
- Docker (optional, für isolierte Tests)
Installation
# Dependencies installieren (nur für Tests benötigt)
npm install
Verfügbare Kommandos
Build & Serve
# Entwicklungsserver starten
npm run serve
# Startet HTTP-Server auf Port 8080
# Navigiere zu http://localhost:8080
Tests
# Alle Tests ausführen (Unit + Integration + Runtime)
npm test
# Nur Unit-Tests (Player, Game Logic, Dice)
npm run test:unit
# Nur Integration-Tests (Vollständige Spieldurchläufe)
npm run test:integration
# Nur Runtime-Tests (Lädt echte game.js, testet Browser-Verhalten)
npm run test:runtime
# Vollständige Test-Suite
npm run test:all
# Test-Coverage generieren
npm run test:coverage
Docker (Empfohlen für CI/CD)
# Docker Image bauen und alle Tests ausführen
docker build -t drinks-tests . && docker run --rm drinks-tests npm test
# Mit Docker Compose
docker-compose run --rm test-unit # Unit Tests
docker-compose run --rm test-integration # Integration Tests
docker-compose run --rm test-coverage # Mit Coverage Report
Viel Spaß beim Spielen! 🎉🍻