No description
Find a file
2026-03-14 11:20:40 +01:00
node_modules UPDATE 2026-03-05 13:39:25 +01:00
public UPDATE 2026-03-14 11:20:40 +01:00
.gitignore Add ignore rules for logs and uploads 2026-02-25 12:25:21 +01:00
api-server.js UPDATE 2026-03-08 22:12:29 +01:00
DEPLOY.md Increase avatar upload JSON limit and deploy updated web build 2026-02-25 12:23:27 +01:00
DEPLOY_DEBIAN.md docs: add Debian deployment guide for rook.churchflow.de 2026-02-16 23:18:42 +01:00
fix-scores.js UPDATE 2026-03-14 11:12:59 +01:00
migrate-sqlite-to-pg.js UPDATE 2026-03-05 13:39:25 +01:00
package-lock.json UPDATE 2026-03-05 13:39:25 +01:00
package.json UPDATE 2026-03-05 13:39:25 +01:00
README.md Add sync conflict resolve endpoint 2026-02-27 00:07:14 +01:00
server.js Add sync conflict resolve endpoint 2026-02-27 00:07:14 +01:00
setup-postgres.sh UPDATE 2026-03-05 13:46:52 +01:00
start-servers.bat Initial server commit 2026-02-16 23:05:20 +01:00
start-servers.ps1 Initial server commit 2026-02-16 23:05:20 +01:00
ui-server.js UPDATE 2026-03-10 23:44:38 +01:00

ROOK Server

Backend und Weboberfläche für die ROOK Kartenspiel-App.

Architektur

Server Port Datei Beschreibung
UI Server 3000 ui-server.js Weboberfläche (statische Dateien)
API Server 3001 api-server.js REST API & SQLite Datenbank

Installation

cd server
npm install

Server starten

Beide Server gleichzeitig

Windows (Batch):

start-servers.bat

PowerShell (öffnet automatisch Browser):

.\start-servers.ps1

Server einzeln starten

# API Server (Port 3001)
npm run start:api

# UI Server (Port 3000)
npm run start:ui

# Entwicklungsmodus mit Auto-Reload
npm run dev:api
npm run dev:ui

Legacy (kombinierter Server)

npm start

URLs

API Endpoints

Players

Methode Endpoint Beschreibung
GET /api/players Alle Spieler abrufen
POST /api/players Spieler erstellen
PUT /api/players/:id Spieler aktualisieren
DELETE /api/players/:id Spieler löschen

Games

Methode Endpoint Beschreibung
GET /api/games Alle Spiele mit Runden abrufen
POST /api/games Neues Spiel erstellen
PUT /api/games/:id Spiel aktualisieren
POST /api/games/:gameId/rounds Runde hinzufügen
DELETE /api/games/:gameId/rounds/last Letzte Runde löschen

Sync

Methode Endpoint Beschreibung
POST /api/sync/players Spieler synchronisieren (upsert)
POST /api/sync/games Spiele synchronisieren (upsert)
POST /api/sync/games/resolve Sync-Konflikt auflösen (lokal oder Server-Version behalten)

Health Check

Methode Endpoint Beschreibung
GET /api/health Server-Status prüfen

Responsive Design

Die Weboberfläche ist optimiert für:

  • Desktop (> 1024px)
  • iPad/Tablet (768px - 1024px)
  • Mobile (< 600px)
  • Landscape Mobile (< 500px Höhe)

Datenbank

  • Typ: SQLite (sql.js)
  • Datei: rook.db
  • Tabellen: players, games, rounds

Dateien

server/
├── api-server.js      # API & Datenbank (Port 3001)
├── ui-server.js       # Weboberfläche (Port 3000)
├── server.js          # Legacy kombinierter Server
├── start-servers.bat  # Windows Startskript
├── start-servers.ps1  # PowerShell Startskript
├── package.json
├── rook.db            # SQLite Datenbank
└── public/
    └── index.html     # Responsive Web-UI