Files
breakpilot-core/bpmn-processes/README.md
Benjamin Boenisch ad111d5e69 Initial commit: breakpilot-core - Shared Infrastructure
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>
2026-02-11 23:47:13 +01:00

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

  1. Navigiere zu http://localhost:3000/admin/workflow oder http://localhost:8000/app (Workflow)
  2. Klicke "Oeffnen" und waehle eine .bpmn Datei
  3. Bearbeite den Prozess im Editor
  4. 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 Phase
  • lessonProtocolDelegate - Automatisches Stundenprotokoll

Timer Events:

  • Phasen-Timer mit Warnungen

Workflow:

  1. Dokument bearbeiten (Autor)
  2. DSB-Pruefung (Vier-Augen-Prinzip)
  3. Bei Ablehnung: Zurueck an Autor
  4. Bei Genehmigung: Veroeffentlichen
  5. Benutzer benachrichtigen
  6. Consent sammeln mit Deadline-Timer
  7. Monitoring-Subprocess fuer jaehrliche Erneuerung
  8. Archivierung bei neuer Version

Service Tasks:

  • publishConsentDocumentDelegate
  • notifyUsersDelegate
  • sendConsentReminderDelegate
  • checkConsentStatusDelegate
  • triggerRenewalDelegate
  • archiveDocumentDelegate

3. Klausur Korrektur (klausur-korrektur.bpmn)

Workflow:

  1. OCR-Verarbeitung der hochgeladenen Klausuren
  2. Qualitaets-Check (Confidence >= 85%)
  3. Bei schlechter Qualitaet: Manuelle Nachbearbeitung
  4. Erwartungshorizont definieren
  5. AI-Bewertung mit Claude
  6. Lehrer-Review mit Anpassungsmoeglichkeit
  7. Noten berechnen (15-Punkte-Skala)
  8. Notenbuch aktualisieren
  9. Export (PDF, Excel)
  10. Optional: Eltern benachrichtigen
  11. Archivierung

Service Tasks:

  • ocrProcessingDelegate
  • ocrQualityCheckDelegate
  • aiGradingDelegate
  • calculateGradesDelegate
  • updateGradebookDelegate
  • generateExportDelegate
  • notifyParentsDelegate
  • archiveExamDelegate
  • deadlineWarningDelegate

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:

  1. Anfrage validieren
  2. Bei ungueltig: Ablehnen
  3. Je nach Typ:
    • Access: Daten sammeln → Anonymisieren → Review → Export
    • Deletion: Identifizieren → Genehmigen → Loeschen → Verifizieren
    • Portability: Sammeln → JSON formatieren
    • Rectification: Pruefen → Anwenden
  4. Betroffenen benachrichtigen
  5. Audit Log erstellen

30-Tage Frist:

  • Timer-Event nach 25 Tagen fuer Eskalation an DSB

Service Tasks:

  • validateDSRDelegate
  • rejectDSRDelegate
  • collectUserDataDelegate
  • anonymizeDataDelegate
  • prepareExportDelegate
  • identifyUserDataDelegate
  • executeDataDeletionDelegate
  • verifyDeletionDelegate
  • collectPortableDataDelegate
  • formatPortableDataDelegate
  • applyRectificationDelegate
  • notifyDataSubjectDelegate
  • createAuditLogDelegate
  • escalateToDSBDelegate

Naechste Schritte

  1. Delegates implementieren: Java/Python Service Tasks
  2. Camunda Connect: REST-Aufrufe zu Backend-APIs
  3. User Task Forms: Camunda Forms oder Custom UI
  4. Timer konfigurieren: Realistische Dauern setzen
  5. Testing: Prozesse mit Testdaten durchlaufen

Referenzen