Docker Compose with 24+ services: - PostgreSQL (PostGIS), Valkey, MinIO, Qdrant - Vault (PKI/TLS), Nginx (Reverse Proxy) - Backend Core API, Consent Service, Billing Service - RAG Service, Embedding Service - Gitea, Woodpecker CI/CD - Night Scheduler, Health Aggregator - Jitsi (Web/XMPP/JVB/Jicofo), Mailpit Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
BreakPilot BPMN Prozesse
Dieses Verzeichnis enthaelt die BPMN 2.0 Prozessdefinitionen fuer BreakPilot.
Prozess-Uebersicht
| Datei | Prozess | Beschreibung | Status |
|---|---|---|---|
classroom-lesson.bpmn |
Unterrichtsstunde | Phasenbasierte Unterrichtssteuerung | Entwurf |
consent-document.bpmn |
Consent-Dokument | DSB-Approval, Publishing, Monitoring | Entwurf |
klausur-korrektur.bpmn |
Klausurkorrektur | OCR, AI-Grading, Export | Entwurf |
dsr-request.bpmn |
DSR/GDPR | Betroffenenanfragen (Art. 15-20) | Entwurf |
Verwendung
Im BPMN Editor laden
- Navigiere zu http://localhost:3000/admin/workflow oder http://localhost:8000/app (Workflow)
- Klicke "Oeffnen" und waehle eine .bpmn Datei
- Bearbeite den Prozess im Editor
- Speichere und deploye zu Camunda
In Camunda deployen
# Camunda starten (falls noch nicht aktiv)
docker compose --profile bpmn up -d camunda
# Prozess deployen via API
curl -X POST http://localhost:8000/api/bpmn/deployment/create \
-F "deployment-name=breakpilot-processes" \
-F "data=@classroom-lesson.bpmn"
Prozess starten
# Unterrichtsstunde starten
curl -X POST http://localhost:8000/api/bpmn/process-definition/ClassroomLessonProcess/start \
-H "Content-Type: application/json" \
-d '{
"variables": {
"teacherId": {"value": "teacher-123"},
"classId": {"value": "class-7a"},
"subject": {"value": "Mathematik"}
}
}'
Prozess-Details
1. Classroom Lesson (classroom-lesson.bpmn)
Phasen:
- Einstieg (Motivation, Problemstellung)
- Erarbeitung I (Einzelarbeit, Partnerarbeit, Gruppenarbeit)
- Erarbeitung II (optional)
- Sicherung (Tafel, Digital, Schueler-Praesentation)
- Transfer (Anwendungsaufgaben)
- Reflexion & Abschluss (Hausaufgaben, Notizen)
Service Tasks:
contentSuggestionDelegate- Content-Vorschlaege basierend auf PhaselessonProtocolDelegate- Automatisches Stundenprotokoll
Timer Events:
- Phasen-Timer mit Warnungen
2. Consent Document (consent-document.bpmn)
Workflow:
- Dokument bearbeiten (Autor)
- DSB-Pruefung (Vier-Augen-Prinzip)
- Bei Ablehnung: Zurueck an Autor
- Bei Genehmigung: Veroeffentlichen
- Benutzer benachrichtigen
- Consent sammeln mit Deadline-Timer
- Monitoring-Subprocess fuer jaehrliche Erneuerung
- Archivierung bei neuer Version
Service Tasks:
publishConsentDocumentDelegatenotifyUsersDelegatesendConsentReminderDelegatecheckConsentStatusDelegatetriggerRenewalDelegatearchiveDocumentDelegate
3. Klausur Korrektur (klausur-korrektur.bpmn)
Workflow:
- OCR-Verarbeitung der hochgeladenen Klausuren
- Qualitaets-Check (Confidence >= 85%)
- Bei schlechter Qualitaet: Manuelle Nachbearbeitung
- Erwartungshorizont definieren
- AI-Bewertung mit Claude
- Lehrer-Review mit Anpassungsmoeglichkeit
- Noten berechnen (15-Punkte-Skala)
- Notenbuch aktualisieren
- Export (PDF, Excel)
- Optional: Eltern benachrichtigen
- Archivierung
Service Tasks:
ocrProcessingDelegateocrQualityCheckDelegateaiGradingDelegatecalculateGradesDelegateupdateGradebookDelegategenerateExportDelegatenotifyParentsDelegatearchiveExamDelegatedeadlineWarningDelegate
4. DSR Request (dsr-request.bpmn)
GDPR Artikel:
- Art. 15: Recht auf Auskunft (Access)
- Art. 16: Recht auf Berichtigung (Rectification)
- Art. 17: Recht auf Loeschung (Deletion)
- Art. 20: Recht auf Datenuebertragbarkeit (Portability)
Workflow:
- Anfrage validieren
- Bei ungueltig: Ablehnen
- Je nach Typ:
- Access: Daten sammeln → Anonymisieren → Review → Export
- Deletion: Identifizieren → Genehmigen → Loeschen → Verifizieren
- Portability: Sammeln → JSON formatieren
- Rectification: Pruefen → Anwenden
- Betroffenen benachrichtigen
- Audit Log erstellen
30-Tage Frist:
- Timer-Event nach 25 Tagen fuer Eskalation an DSB
Service Tasks:
validateDSRDelegaterejectDSRDelegatecollectUserDataDelegateanonymizeDataDelegateprepareExportDelegateidentifyUserDataDelegateexecuteDataDeletionDelegateverifyDeletionDelegatecollectPortableDataDelegateformatPortableDataDelegateapplyRectificationDelegatenotifyDataSubjectDelegatecreateAuditLogDelegateescalateToDSBDelegate
Naechste Schritte
- Delegates implementieren: Java/Python Service Tasks
- Camunda Connect: REST-Aufrufe zu Backend-APIs
- User Task Forms: Camunda Forms oder Custom UI
- Timer konfigurieren: Realistische Dauern setzen
- Testing: Prozesse mit Testdaten durchlaufen