# 1 bis 8 Party – Mobile Web-App Das ultimative Gesellschaftsspiel über Selbsteinschätzung, Vorurteile und echte Offenbarungen – als mobile Web-App umgesetzt: offizielle Spielregeln, 20 Statement-Karten in 5 Kategorien und ein interaktiver Spielleiter für 3–8 Spieler mit automatischer Mehrheits-Punkteberechnung. **Live:** https://1bis.hocks.eu/ (Alias: https://1bis8.hocks.eu/) ## Struktur | Pfad | Inhalt | |---|---| | `app/` | React + TypeScript + Vite + Tailwind (Quelle der Web-App) | | `app/src/data/game.ts` | Kategorien, 20 Statement-Karten, Regelwerk-Texte | | `app/src/lib/scoring.ts` | Punkteberechnung nach offiziellen Regeln | | `server/` | Docker-Stack für den VPS (Web + Postfix-Relay + Mail-API) | | `docs/` | Original-Spielregeln (PDF) | ## Entwicklung ```bash cd app npm install npm run dev # Dev-Server (Port 3000, --port für andere Ports) npm run build # Produktions-Build → app/dist/ ``` ## Deployment (VPS 82.165.218.97, /opt/1bis8) **Automatisch:** Bei jedem Push auf `main` baut die Gitea-Action (`.gitea/workflows/deploy.yml`) die App und kopiert `dist/` auf den Server – der Web-Container nutzt das Verzeichnis als Laufzeit-Mount und nimmt die Änderungen sofort an. Anschließend läuft ein Health-Check gegen beide Domains. **Manuell:** ```bash cd app && npm run build scp -P 38592 -r dist root@82.165.218.97:/opt/1bis8/web/ ``` - TLS, Subdomains und Routing: Nginx Proxy Manager (`npm_default`-Netz) - E-Mail: `onebis8-mail` (Postfix-Relay, intern) + `onebis8-mail-api`, Kontaktformular sendet an `axel@hocks.eu` (Muster: Mieterportal-Stack) - Konfiguration: `server/app.env` (Mail-Token) und `server/mail/mail.env` liegen nur auf dem Server, nicht im Repo