feat: BreakPilot PWA - Full codebase (clean push without large binaries)
Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
This commit is contained in:
171
bpmn-processes/README.md
Normal file
171
bpmn-processes/README.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
---
|
||||
|
||||
### 2. Consent Document (consent-document.bpmn)
|
||||
|
||||
**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
|
||||
|
||||
- [Camunda 7 Docs](https://docs.camunda.org/manual/7.21/)
|
||||
- [BPMN 2.0 Spec](https://www.omg.org/spec/BPMN/2.0/)
|
||||
- [bpmn-js](https://bpmn.io/toolkit/bpmn-js/)
|
||||
Reference in New Issue
Block a user