# BreakPilot Lehrer - Dokumentation Willkommen zur Dokumentation des **BreakPilot Lehrer**-Stacks (Team A: Bildung). ## Drei-Projekt-Architektur BreakPilot besteht aus drei unabhaengigen Projekten: | Projekt | Beschreibung | Docs | |---------|-------------|------| | **breakpilot-core** | Shared Infrastructure (DB, Cache, Vault, Nginx) | Port 8009 | | **breakpilot-lehrer** (dieses Projekt) | Bildungs-Stack | Port 8010 | | **breakpilot-compliance** | DSGVO/Compliance-Stack | Port 8011 | Lehrer haengt von Core ab (PostgreSQL, Valkey, Vault, Qdrant, MinIO, Embedding, RAG). --- ## Services | Service | Container | Port | Tech | Beschreibung | |---------|-----------|------|------|--------------| | Admin Lehrer | bp-lehrer-admin | 3002 | Next.js | Lehrer-Dashboard | | Studio v2 | bp-lehrer-studio-v2 | 443 | Next.js | Lehrer-/Schueler-Interface | | Website | bp-lehrer-website | 3000 | Next.js | Oeffentliche Website | | Backend Lehrer | bp-lehrer-backend | 8001 | Python/FastAPI | API Backend | | Klausur Service | bp-lehrer-klausur-service | 8086 | Python/FastAPI | Pruefungen, OCR, Vokabel-Worksheets | | School Service | bp-lehrer-school-service | 8084 | Go/Gin | Schulverwaltung | | Voice Service | bp-lehrer-voice-service | 8091 | Python/FastAPI | Spracheingabe (WebSocket) | | Geo Service | bp-lehrer-geo-service | 8088 | Python/FastAPI | Geo-Daten (PostGIS) | ### Optionale Services (Docker Profiles) | Service | Container | Profil | Beschreibung | |---------|-----------|--------|--------------| | PaddleOCR | bp-lehrer-paddleocr | `ocr` | OCR Engine fuer Dokumentenerkennung | | BreakPilot Drive | bp-lehrer-breakpilot-drive | `game` | Lernspiel (Unity WebGL) | | Agent Core | bp-lehrer-agent-core | `dev` | Multi-Agent System | | Transcription Worker | bp-lehrer-transcription | `recording` | Audio-Transkription | --- ## URLs | URL | Service | Beschreibung | |-----|---------|--------------| | https://macmini/ | Studio v2 | Lehrer-/Schueler-Interface | | https://macmini:3000/ | Website | Oeffentliche Website | | https://macmini:3002/ | Admin Lehrer | Dashboard fuer Lehrkraefte | | https://macmini:8001/ | Backend API | REST API | | https://macmini:8086/ | Klausur Service | Pruefungs-API | | wss://macmini:8091/ | Voice Service | Spracheingabe WebSocket | ### Lehrer-Tools (Studio v2) | URL | Tool | |-----|------| | https://macmini/vocab-worksheet | Vokabel-Arbeitsblatt Generator | | https://macmini/korrektur | Abiturklausur-Korrektur | | https://macmini/dashboard-experimental | Experimental Dashboard | --- ## Abhaengigkeiten zu Core Lehrer-Services nutzen folgende Core-Infrastruktur: | Core Service | Genutzt von | Zweck | |-------------|-------------|-------| | PostgreSQL (5432) | Alle | Zentrale Datenbank | | Valkey (6379) | Backend, Studio | Session Cache | | Vault (8200) | Alle | Secrets Management | | Qdrant (6333) | Klausur Service | RAG Vector-Suche | | MinIO (9000) | Klausur Service, Voice | Datei-Storage | | Embedding (8087) | Klausur Service | Text-Embeddings | | RAG Service (8097) | Klausur Service | Retrieval Augmented Generation | | Nginx | Alle | HTTPS Reverse Proxy | --- ## Architektur - [Multi-Agent System](architecture/multi-agent.md) - [Zeugnis-System](architecture/zeugnis-system.md) ## Services-Dokumentation - [Klausur Service](services/klausur-service/index.md) - [Voice Service](services/voice-service/index.md) - [Agent Core](services/agent-core/index.md) - [KI-Daten-Pipeline](services/ki-daten-pipeline/index.md) ## Entwicklung - [Testing](development/testing.md) - [Dokumentation](development/documentation.md) - [CI/CD Pipeline](development/ci-cd-pipeline.md) --- ## Deployment ```bash # Voraussetzung: breakpilot-core muss laufen # Alle Lehrer-Services starten docker compose -f breakpilot-lehrer/docker-compose.yml up -d # Einzelnen Service neu bauen docker compose -f breakpilot-lehrer/docker-compose.yml build --no-cache docker compose -f breakpilot-lehrer/docker-compose.yml up -d # Mit optionalen Profilen docker compose -f breakpilot-lehrer/docker-compose.yml --profile ocr up -d ``` --- ## Git ```bash # Zwei Remotes - IMMER zu beiden pushen: git push origin main && git push gitea main # Remotes: # origin: http://macmini:3003/pilotadmin/breakpilot-lehrer.git # gitea: git@gitea.meghsakha.com:Benjamin_Boenisch/breakpilot-lehrer.git ```