diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 4ebe520..5cfd173 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -90,6 +90,35 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: --- +## Drei Docker Compose Projekte (WICHTIG!) + +Das System besteht aus **drei separaten Docker Compose Projekten** auf dem Mac Mini: + +| Projekt | Pfad | Container-Prefix | Beschreibung | +|---------|------|-------------------|--------------| +| **breakpilot-pwa** | `/Users/benjaminadmin/Projekte/breakpilot-pwa/` | `breakpilot-pwa-*` | Haupt-Repo: Studio, Admin, Backend, alle Services | +| **breakpilot-core** | `/Users/benjaminadmin/Projekte/breakpilot-core/` | `bp-core-*` | Nginx Reverse Proxy (`bp-core-nginx`) | +| **breakpilot-compliance** | `/Users/benjaminadmin/Projekte/breakpilot-compliance/` | `bp-compliance-*` | Compliance-System: Developer Portal, Admin, Backend, AI SDK | + +### Wichtige Hinweise zu den Compose-Projekten + +- **Nginx** (`bp-core-nginx`) läuft in `breakpilot-core`, NICHT in `breakpilot-pwa` +- **Developer Portal** (`bp-compliance-developer-portal`) läuft in `breakpilot-compliance` +- Wenn ein Container in `breakpilot-pwa` nicht existiert, prüfe die anderen Projekte! + +```bash +# breakpilot-pwa Container verwalten +ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml " + +# breakpilot-core Container verwalten (Nginx) +ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-core/docker-compose.yml " + +# breakpilot-compliance Container verwalten (Developer Portal, Compliance) +ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml " +``` + +--- + ## Haupt-URLs (HTTPS via Nginx) | URL | Service | Beschreibung | @@ -115,6 +144,19 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: | https://macmini:3002/developers | Developer Portal | API-Dokumentation für Kunden | | https://macmini:8093/ | SDK API | Backend-API für SDK | +### Developer Portal (Compliance-Dokumentation) + +| URL | Beschreibung | +|-----|--------------| +| https://macmini:3006/ | Developer Portal Startseite | +| https://macmini:3006/development/docs | **Systemdokumentation Compliance Service** | +| https://macmini:3006/sdk | SDK Dokumentation | +| https://macmini:3006/api | API Referenz | +| https://macmini:3006/guides | Guides | +| https://macmini:3006/changelog | Changelog | + +**Hinweis:** Das Developer Portal läuft als `bp-compliance-developer-portal` im Compose-Projekt `breakpilot-compliance` auf Port 3006 (via `bp-core-nginx`). + ### Interne Dienste | URL | Service | @@ -150,7 +192,7 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: --- -## Services (49 Container) +## Services ### Kern-Applikationen @@ -169,7 +211,6 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: | `klausur-service` | Python/FastAPI | 8086 | Prüfungen, OCR, RAG | | `school-service` | Python | 8082 | Schulverwaltung | | `edu-search-service` | Python | 8088 | Bildungssuche | -| `breakpilot-drive` | Node.js | 8087 | Dateiablage (IPFS) | | `geo-service` | Python | 8084 | Geo-Daten (PostGIS) | | `voice-service` | Python | 8091 | Spracheingabe | @@ -182,6 +223,15 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: | `paddleocr-service` | Python | - | OCR für Dokumente | | `transcription-worker` | Python | - | Audio-Transkription | +### Compliance (breakpilot-compliance Projekt) + +| Service | Tech | Port | Container | +|---------|------|------|-----------| +| `developer-portal` | Next.js | 3006 | `bp-compliance-developer-portal` | +| `compliance-admin` | Next.js | - | `bp-compliance-admin` | +| `compliance-backend` | Go | - | `bp-compliance-backend` | +| `compliance-ai-sdk` | Go | 8090 | `bp-compliance-ai-sdk` | + ### Kommunikation | Service | Tech | Port | Beschreibung | @@ -206,7 +256,7 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: | Service | Tech | Port | Beschreibung | |---------|------|------|--------------| -| `nginx` | Nginx | 80/443 | Reverse Proxy + TLS | +| `nginx` | Nginx | 80/443 | Reverse Proxy + TLS (in breakpilot-core!) | | `vault` | HashiCorp Vault | 8200 | Secrets Management | | `vault-agent` | Vault | - | Zertifikatserneuerung | | `gitea` | Gitea | 3003 | Git-Server | @@ -215,14 +265,13 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: | `night-scheduler` | Python/FastAPI | 8096 | Auto-Shutdown/Startup | | `mailpit` | Mailpit | 8025/1025 | E-Mail (Dev) | -### ERP & Billing +### ERP | Service | Tech | Port | Beschreibung | |---------|------|------|--------------| | `erpnext-frontend` | ERPNext | 8009 | ERP Frontend | | `erpnext-backend` | ERPNext | - | ERP Backend | | `erpnext-db` | MariaDB | - | ERP Datenbank | -| `billing-service` | Python | - | Abrechnungsservice | ### DSMS (Data Sharing) @@ -258,9 +307,9 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen: - `studio-v2`: Next.js 15, React, TailwindCSS - `admin-v2`: Next.js 15, React, TailwindCSS - `website`: Next.js 14 +- `developer-portal`: Next.js, React, TailwindCSS (in breakpilot-compliance) ### Node.js -- `breakpilot-drive`: Express, IPFS - `dsms-node`: IPFS - `dsms-gateway`: Express @@ -286,15 +335,16 @@ breakpilot-pwa/ ├── admin-v2/ # Admin Dashboard (Next.js) ├── studio-v2/ # Lehrer-/Schüler-Studio (Next.js) ├── website/ # Öffentliche Website (Next.js) +├── developer-portal/ # Developer Portal (Next.js, auch in breakpilot-compliance) ├── backend/ # Python Backend (FastAPI) ├── consent-service/ # Go Consent Service ├── klausur-service/ # Klausur/OCR Service ├── ai-compliance-sdk/ # KI-Compliance SDK +├── breakpilot-compliance-sdk/ # Compliance SDK (Monorepo) ├── voice-service/ # Spracheingabe ├── geo-service/ # Geo-Daten ├── school-service/ # Schulverwaltung ├── edu-search-service/ # Bildungssuche -├── breakpilot-drive/ # Dateiablage ├── night-scheduler/ # Auto-Shutdown ├── nginx/ # Reverse Proxy Config ├── vault/ # Vault Config @@ -304,6 +354,10 @@ breakpilot-pwa/ └── mkdocs.yml # MKDocs Config ``` +**Entfernte/nicht mehr aktive Verzeichnisse (in .gitignore blockiert):** +- `BreakpilotDrive/` — altes Unity-Projekt, nicht mehr in Entwicklung +- `billing-service/` — nicht benötigt + --- ## Dokumentation (MKDocs) @@ -339,7 +393,7 @@ mkdocs build ### Docker (via SSH auf Mac Mini) ```bash -# Alle Services starten +# Alle Services starten (breakpilot-pwa) ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml up -d" # Einzelnen Service neu bauen & starten @@ -351,6 +405,13 @@ ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/brea # Status aller Container ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml ps" + +# Developer Portal (in breakpilot-compliance!) +ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml build --no-cache developer-portal" +ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml up -d developer-portal" + +# Nginx (in breakpilot-core!) +ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-core/docker-compose.yml restart nginx" ``` **WICHTIG:** Docker-Pfad auf Mac Mini ist `/usr/local/bin/docker` (nicht im Standard-PATH bei SSH). @@ -368,9 +429,12 @@ ssh macmini "cd /Users/benjaminadmin/Projekte/breakpilot-pwa/backend && source v ### Git ```bash -# Remote ist localhost:3003 (Gitea laeuft als Container auf Mac Mini) -# Vom MacBook aus: http://macmini:3003/pilotadmin/breakpilot-pwa.git -# Vom Mac Mini aus: http://localhost:3003/pilotadmin/breakpilot-pwa.git +# Zwei Remotes konfiguriert - IMMER zu beiden pushen! +# origin: http://macmini:3003/pilotadmin/breakpilot-pwa.git (lokale Gitea auf Mac Mini) +# gitea: git@gitea.meghsakha.com:Benjamin_Boenisch/breakpilot-pwa.git (externer Gitea-Server) + +# Push zu beiden Remotes (PFLICHT bei jedem Push): +git push origin main && git push gitea main # Git-Befehle auf Mac Mini ausfuehren (ohne cd): ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-pwa status" @@ -416,6 +480,15 @@ ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-pwa pull --no-rebas - Vault-Tokens - SSL-Zertifikate +**NIEMALS ins Git laden (via .gitignore blockiert):** +- `*.pdf`, `*.docx`, `*.xlsx`, `*.pptx` — Dokumente bleiben nur lokal auf dem Mac Mini +- Kompilierte Go-Binaries (`consent-service/server`, etc.) +- Große Mediendateien (Videos, Audio, Bilder >1 MB) +- `BreakpilotDrive/` — altes Unity-Projekt +- `billing-service/` — nicht benötigt + +**Hinweis:** Die Git-History wurde am 2026-02-12 mit `git-filter-repo` bereinigt. Alle PDFs, Word-/Excel-Dateien, BreakpilotDrive/ und billing-service/ wurden aus der gesamten History entfernt. Das Repo ging dadurch von 1.7 GB auf 11 MB. + --- ## Ansprechpartner