karim bd37b7f8bc design: HOST-Frontend an rapport.openbureau.ch angeglichen
Echte Design-Tokens aus dem openbureau-Stylesheet übernommen:
- weißer Grund (#fff), warme Off-Whites (#fafafa/#fff8f0)
- near-black Text (#1a1a1a), warmes Braun als Akzent (#b07848)
- System-Font-Stack (-apple-system…) + SF Mono, Brand Krungthep
- Hero-CTA in Akzent-Braun, dunkle Sekundär-Buttons

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 16:11:57 +02:00

RAPPORT-HOST

⚠️ Proprietär & kommerziell — im Gegensatz zur restlichen Rapport-Familie (AGPL). Siehe LICENSE. Niemals AGPL-Code direkt einbinden.

Die Hosting- und Abo-Plattform für Rapport. Kunden registrieren sich, wählen ein Abo (Stripe), und bekommen automatisch eine eigene Rapport-Instanz freigeschaltet.

Teil der Rapport-Familie:

Repo Rolle Lizenz
APP Desktop-/Web-Client AGPL
SERVER-CONTAINER Self-Host Docker-Stack AGPL
SERVER-APP Mac-Doppelklick-Server AGPL
SERVER-PROXMOX-LXC Proxmox-Installer AGPL
RAPPORT-HOST Kommerzielle Hosting-Plattform Proprietär

Status: Iteration 1

End-to-End-Flow lokal testbar (auch ohne Stripe/Rapport-Stack dank MOCK-Modus):

  1. Registrierung + Login (HOST-Konten, JWT)
  2. Abo-Plan wählen → Stripe-Checkout (oder Mock-Sofortfreischaltung)
  3. Webhook → Instanz provisionieren (Modell A: Studio im geteilten Stack)
  4. Kunden-Dashboard mit Abo-Status + Link zur Instanz

Noch offen: Super-Admin, QR-Rechnung, echtes Rapport-Provisioning-RPC, Modell B (eigener Container).


Architektur in einem Satz

React-Frontend (src/) spricht über /api mit einem Node/Express-Backend (server/), das HOST-Konten + Abos in einer eigenen Postgres hält und bei bezahltem Abo eine Rapport-Instanz provisioniert. Details: ARCHITECTURE.md.


Lokal starten

# 1. HOST-Datenbank (Container)
docker compose up -d host-db

# 2. Backend-Dependencies + Schema
cd server && npm install && cd ..
npm run server:migrate

# 3. .env anlegen
cp .env.example .env          # Defaults reichen für den MOCK-Modus

# 4. Frontend-Dependencies
npm install

# 5. In zwei Terminals:
npm run server                # Backend  → :8787
npm run dev                   # Frontend → :5273

Öffne http://localhost:5273 → registrieren → Plan wählen. Ohne Stripe-Keys schaltet der MOCK-Modus die Instanz sofort frei, und das Dashboard zeigt den (simulierten) Instanz-Link.

Mit echtem Stripe (Test-Mode)

.env mit STRIPE_SECRET_KEY=sk_test_… + STRIPE_PRICE_* füllen. Webhook lokal weiterleiten:

stripe listen --forward-to localhost:8787/api/billing/webhook
# das ausgegebene whsec_… in STRIPE_WEBHOOK_SECRET eintragen

Test-Karte: 4242 4242 4242 4242, beliebiges Zukunftsdatum + CVC.


Deploy (Hetzner, später)

Identischer Code — nur .env mit Live-Werten (sk_live_…, echte DATABASE_URL, PUBLIC_BASE_URL=https://…, RAPPORT_API_URL/SERVICE_KEY für echtes Provisioning). Das app-Image in docker-compose.yml ist dafür vorbereitet (auskommentiert).

S
Description
Proprietäre Hosting-/Abo-Plattform für Rapport-Instanzen (Stripe + Provisioning)
Readme 233 KiB
Languages
JavaScript 100%