This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
breakpilot-pwa/website/README.md
Benjamin Admin 21a844cb8a fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.

This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).

Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:51:32 +01:00

145 lines
3.3 KiB
Markdown

# BreakPilot Website
Marketing- und Pricing-Website fuer BreakPilot mit Stripe Checkout Integration.
## Tech Stack
- **Framework:** Next.js 15.1.6
- **Styling:** Tailwind CSS 3.4
- **Language:** TypeScript 5.7
- **Payment:** Stripe Checkout (via Billing Service)
## Lokale Entwicklung
### Voraussetzungen
- Node.js 20+
- npm oder yarn
### Installation
```bash
cd website
npm install
npm run dev
```
Website ist dann unter http://localhost:3000 erreichbar.
## Docker
### Build
```bash
docker build -t breakpilot-website \
--build-arg NEXT_PUBLIC_BILLING_API_URL=http://localhost:8083 \
--build-arg NEXT_PUBLIC_APP_URL=http://localhost:8000 \
.
```
### Run
```bash
docker run -p 3000:3000 breakpilot-website
```
### Mit Docker Compose
```bash
# Aus dem Root-Verzeichnis
docker compose up -d website
```
## Umgebungsvariablen
| Variable | Beschreibung | Default |
|----------|--------------|---------|
| `NEXT_PUBLIC_BILLING_API_URL` | URL zum Billing Service | `http://localhost:8083` |
| `NEXT_PUBLIC_APP_URL` | URL zur BreakPilot App | `http://localhost:8000` |
| `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` | Stripe Public Key | - |
### Build-Zeit vs. Runtime
NEXT_PUBLIC_* Variablen werden zur Build-Zeit eingebettet. Fuer Docker:
```bash
docker build \
--build-arg NEXT_PUBLIC_BILLING_API_URL=https://api.breakpilot.de \
--build-arg NEXT_PUBLIC_APP_URL=https://app.breakpilot.de \
--build-arg NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_xxx \
.
```
## Stripe Integration
### Flow
1. Nutzer waehlt Plan auf der Pricing-Seite
2. Nutzer gibt E-Mail ein
3. Website ruft `POST /api/v1/billing/trial/start` am Billing Service auf
4. Billing Service erstellt Stripe Checkout Session
5. Nutzer wird zu Stripe Checkout weitergeleitet
6. Nach Zahlung: Redirect zu `/success?session_id=xxx`
7. Success-Seite zeigt Bestaetigung und leitet zur App weiter
### API Endpunkt
```
POST /api/v1/billing/trial/start
Content-Type: application/json
{
"plan_id": "basic" | "standard" | "premium",
"email": "user@example.com"
}
Response:
{
"checkout_url": "https://checkout.stripe.com/..."
}
```
## Seiten
| Route | Beschreibung |
|-------|--------------|
| `/` | Landing Page mit Hero, Pricing, Trust-Sektion |
| `/success` | Erfolgsseite nach Stripe Checkout |
| `/cancel` | Abbruchseite wenn Checkout abgebrochen |
## Produktion
### Empfohlene Konfiguration
```env
NEXT_PUBLIC_BILLING_API_URL=https://api.breakpilot.de
NEXT_PUBLIC_APP_URL=https://app.breakpilot.de
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_xxx
```
### SSL/TLS
Fuer Produktion sollte ein Reverse Proxy (nginx, Traefik) mit SSL verwendet werden.
## Projektstruktur
```
website/
├── app/
│ ├── globals.css # Tailwind + Custom Styles
│ ├── layout.tsx # Root Layout
│ ├── page.tsx # Landing Page
│ ├── success/
│ │ └── page.tsx # Checkout Erfolgsseite
│ └── cancel/
│ └── page.tsx # Checkout Abbruchseite
├── components/
│ ├── Header.tsx # Navigation
│ ├── PricingSection.tsx # Pricing Cards + Modal
│ └── Footer.tsx # Footer
├── Dockerfile # Multi-stage Docker Build
├── next.config.mjs # Next.js Konfiguration
├── tailwind.config.ts # Tailwind mit BreakPilot Farben
└── package.json
```