""" BreakPilot Studio - System Info Module Zeigt System-Informationen und Dokumentation an, analog zu den Admin-Seiten im Next.js Frontend. """ class SystemInfoModule: """System-Info Modul fuer BreakPilot Studio.""" @staticmethod def get_css() -> str: """CSS fuer das System-Info Panel.""" return """ /* ========================================== SYSTEM INFO MODULE ========================================== */ #panel-system-info { display: none; flex-direction: column; padding: 24px; min-height: calc(100vh - 104px); } #panel-system-info.active { display: flex; } .system-info-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; } .system-info-title { font-size: 24px; font-weight: 700; color: var(--bp-text); margin-bottom: 4px; } .system-info-subtitle { font-size: 14px; color: var(--bp-text-muted); } .system-info-version { padding: 6px 12px; background: var(--bp-accent-soft); color: var(--bp-accent); border-radius: 999px; font-size: 12px; font-weight: 600; } /* Privacy Notes */ .privacy-notes { background: rgba(59, 130, 246, 0.1); border: 1px solid rgba(59, 130, 246, 0.3); border-radius: 12px; padding: 16px; margin-bottom: 24px; } .privacy-notes-title { font-size: 14px; font-weight: 600; color: #3b82f6; margin-bottom: 8px; } .privacy-notes-list { list-style: none; } .privacy-notes-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #60a5fa; margin-bottom: 4px; } .privacy-notes-list li::before { content: "✓"; color: #3b82f6; flex-shrink: 0; } /* Tabs */ .system-info-tabs { display: flex; gap: 16px; border-bottom: 1px solid var(--bp-border); margin-bottom: 24px; } .system-info-tab { padding: 12px 4px; font-size: 14px; font-weight: 500; color: var(--bp-text-muted); cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.2s; background: none; border-top: none; border-left: none; border-right: none; } .system-info-tab:hover { color: var(--bp-text); } .system-info-tab.active { color: var(--bp-primary); border-bottom-color: var(--bp-primary); } /* Tab Content */ .system-info-content { flex: 1; min-height: 400px; } .tab-pane { display: none; } .tab-pane.active { display: block; } /* Features Section */ .features-grid { display: flex; flex-direction: column; gap: 12px; } .feature-card { background: var(--bp-surface-elevated); border: 1px solid var(--bp-border); border-radius: 8px; padding: 16px; } .feature-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; } .feature-name { font-size: 15px; font-weight: 600; color: var(--bp-text); } .feature-status { padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 500; } .feature-status.active { background: rgba(34, 197, 94, 0.15); color: #22c55e; } .feature-status.planned { background: rgba(245, 158, 11, 0.15); color: #f59e0b; } .feature-status.disabled { background: rgba(100, 116, 139, 0.15); color: #64748b; } .feature-description { font-size: 13px; color: var(--bp-text-muted); } /* Architecture Section */ .architecture-diagram { background: var(--bp-surface-elevated); border: 1px solid var(--bp-border); border-radius: 12px; padding: 24px; } .architecture-layer { margin-bottom: 16px; padding: 16px; border-radius: 8px; border: 2px solid; text-align: center; } .architecture-layer-title { font-size: 13px; font-weight: 600; margin-bottom: 8px; } .architecture-components { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; } .architecture-component { padding: 4px 12px; border-radius: 4px; font-size: 12px; font-weight: 500; } .architecture-arrow { text-align: center; color: var(--bp-text-muted); font-size: 20px; margin: 8px 0; } /* Roadmap Section */ .roadmap-phases { display: flex; flex-direction: column; gap: 16px; } .roadmap-phase { background: var(--bp-surface-elevated); border: 1px solid var(--bp-border); border-radius: 8px; padding: 16px; } .roadmap-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; } .roadmap-title { font-size: 15px; font-weight: 600; color: var(--bp-text); } .roadmap-priority { padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 600; text-transform: uppercase; } .roadmap-priority.high { background: rgba(239, 68, 68, 0.15); color: #ef4444; } .roadmap-priority.medium { background: rgba(245, 158, 11, 0.15); color: #f59e0b; } .roadmap-priority.low { background: rgba(59, 130, 246, 0.15); color: #3b82f6; } .roadmap-items { list-style: none; } .roadmap-items li { font-size: 13px; color: var(--bp-text-muted); padding: 4px 0; padding-left: 16px; position: relative; } .roadmap-items li::before { content: "•"; position: absolute; left: 0; color: var(--bp-text-muted); } /* Technical Table */ .technical-table { width: 100%; border-collapse: collapse; background: var(--bp-surface-elevated); border-radius: 8px; overflow: hidden; } .technical-table th, .technical-table td { padding: 12px 16px; text-align: left; font-size: 13px; border-bottom: 1px solid var(--bp-border); } .technical-table th { background: var(--bp-surface); font-weight: 600; color: var(--bp-text-muted); text-transform: uppercase; font-size: 11px; } .technical-table td { color: var(--bp-text); } .technical-table tr:last-child td { border-bottom: none; } /* Audit Section */ .audit-sections { display: flex; flex-direction: column; gap: 16px; } .audit-section { background: var(--bp-surface-elevated); border: 1px solid var(--bp-border); border-radius: 8px; padding: 16px; } .audit-section-title { font-size: 15px; font-weight: 600; color: var(--bp-text); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; } .audit-section-title::before { content: "✓"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; background: var(--bp-primary); color: white; border-radius: 50%; font-size: 12px; } .audit-items { display: flex; flex-direction: column; gap: 8px; } .audit-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--bp-border-subtle); } .audit-item:last-child { border-bottom: none; } .audit-item-label { font-size: 13px; color: var(--bp-text-muted); } .audit-item-value { font-size: 13px; font-weight: 500; padding: 2px 8px; border-radius: 4px; } .audit-item-value.ok { background: rgba(34, 197, 94, 0.15); color: #22c55e; } .audit-item-value.warning { background: rgba(245, 158, 11, 0.15); color: #f59e0b; } .audit-item-value.critical { background: rgba(239, 68, 68, 0.15); color: #ef4444; } /* Documentation Section */ .documentation-container { background: var(--bp-bg); color: var(--bp-text); padding: 24px; border-radius: 12px; overflow: auto; max-height: 600px; } .documentation-container h2 { font-size: 20px; margin: 24px 0 12px 0; color: var(--bp-text); } .documentation-container h2:first-child { margin-top: 0; } .documentation-container h3 { font-size: 16px; margin: 20px 0 8px 0; color: var(--bp-text); } .documentation-container p { font-size: 14px; line-height: 1.6; margin-bottom: 12px; color: var(--bp-text-muted); } .documentation-container pre { background: var(--bp-surface); padding: 16px; border-radius: 8px; overflow-x: auto; font-size: 12px; font-family: 'Monaco', 'Menlo', monospace; margin: 12px 0; color: var(--bp-text); } .documentation-container ul, .documentation-container ol { margin: 12px 0; padding-left: 24px; } .documentation-container li { font-size: 14px; margin-bottom: 4px; color: var(--bp-text-muted); } .documentation-container table { width: 100%; border-collapse: collapse; margin: 12px 0; } .documentation-container th, .documentation-container td { padding: 8px 12px; border: 1px solid var(--bp-border); text-align: left; font-size: 13px; } .documentation-container th { background: var(--bp-surface); } /* Export Buttons */ .export-buttons { display: flex; justify-content: flex-end; gap: 12px; margin-top: 16px; } """ @staticmethod def get_html() -> str: """HTML fuer das System-Info Panel.""" return """
Plattform-Dokumentation und technische Details
KI-gestuetzte Erstellung von Arbeitsblaettern und Lernmaterialien
Automatische Klausurkorrektur mit OCR und KI-Bewertung
Rechtssichere Elternbriefe und Benachrichtigungen
Integrierte Jitsi-Videokonferenzen fuer Elterngespraeche
Sichere Matrix-basierte Kommunikation
Zentrale E-Mail-Verwaltung mit KI-Unterstuetzung
| Komponente | Technologie | Version | Beschreibung |
|---|---|---|---|
| Backend | FastAPI | 0.109+ | Python Async API |
| Consent Service | Go + Gin | 1.21+ | DSGVO-Consent-Verwaltung |
| Database | PostgreSQL | 16 | Relationale Daten |
| Vector DB | Qdrant | 1.12+ | RAG & Semantic Search |
| Cache | Valkey | 8.x | Redis-kompatibel |
| Storage | MinIO | Latest | S3-kompatibel |
| KI | OpenAI / Anthropic | GPT-4o / Claude 3.5 | LLM Provider |
BreakPilot Studio ist eine umfassende Plattform fuer Lehrkraefte zur Erstellung von Lernmaterialien, Klausurkorrektur und Elternkommunikation. Die Plattform nutzt modernste KI-Technologie fuer automatisierte Workflows.
| Modul | Beschreibung | Status |
|---|---|---|
| Arbeitsblaetter | KI-gestuetzte Erstellung von Lernmaterialien | Aktiv |
| Klausurkorrektur | Automatische Korrektur mit Feedback | Aktiv |
| Elternbriefe | Rechtssichere Kommunikation | Aktiv |
| Videokonferenz | Integrierte Jitsi-Meetings | Aktiv |
| Messenger | Matrix-basierte Kommunikation | Aktiv |
| Content Creator | Interaktive Lerneinheiten | Aktiv |
Die API ist unter /docs (Swagger) und /redoc (ReDoc) dokumentiert.
# Beispiel: Arbeitsblatt generieren
POST /api/worksheets/generate
{
"topic": "Quadratische Funktionen",
"grade": 10,
"difficulty": "medium"
}
Alle personenbezogenen Daten werden DSGVO-konform verarbeitet. Details finden sich in der Datenschutzerklaerung.
Bei Fragen oder Problemen wenden Sie sich an den Support unter support@breakpilot.de
Exportiert am: ${new Date().toLocaleString('de-DE')}