Branch: feature/v0.2.0-rbac-sepa-pdf
Started: 16. November 2025
Target Beta Release: 1. Dezember 2025
Target Release: 25. Dezember 2025
Status: In Progress
-
Multi-Role RBAC System ✅
lib/Service/RBAC/RoleService.php(200+ lines)- Support für 6 Musikverein-Rollen + 4 Sportverein-Rollen
- Permission-System mit 20+ granularen Permissions
- Tests: 13 Unit Tests geschrieben
- Coverage: RoleService zu 100% getestet
-
SEPA pain.001 XML Export ✅
lib/Service/Export/SEPA/SepaXmlExporter.php(400+ lines)- ISO 20022 Standard vollständig implementiert
- Validierung: IBAN, BIC, Betrag, Transaktionsdaten
- XML-Struktur: GrpHdr, PmtInf, CdtTrfTxInf
- Tests: 14 Unit Tests geschrieben
- Coverage: Alle Edge Cases getestet (invalid IBAN, BIC, amounts)
-
PDF Export Service ✅
lib/Service/Export/PDF/PdfExporter.php(400+ lines)- Invoice PDF-Generator
- Member List PDF-Generator
- Finance Overview PDF-Generator
- Tests: 20 Unit Tests geschrieben
- Coverage: Special characters, large amounts, multiple items
-
Exception Handling ✅
lib/Exception/ValidationException.phplib/Exception/PermissionDeniedException.phplib/Exception/ExportException.php- Standardisierte Fehlerbehandlung mit HTTP Status Codes
| Component | Tests | Status |
|---|---|---|
| RoleService | 13 | ✅ Complete |
| SepaXmlExporter | 14 | ✅ Complete |
| PdfExporter | 20 | ✅ Complete |
| Total | 47 | ✅ On Track |
| Target | 130+ | ⏳ In Progress |
- Vue.js Components für RBAC GUI
- Export Dialog Components
- Permission Manager UI
- Settings Page für Role Configuration
- Controller für RBAC Management
- Export Endpoints (SEPA, PDF)
- Permission Middleware
- API Tests
- Role Assignment Tables
- Permission Storage
- Audit Log Tables
- API Documentation
- User Guide für RBAC
- Migration Guide
- Release Notes v0.2.0
nextcloud-verein/
├── lib/
│ ├── Service/
│ │ ├── RBAC/
│ │ │ └── RoleService.php ✅
│ │ └── Export/
│ │ ├── SEPA/
│ │ │ └── SepaXmlExporter.php ✅
│ │ └── PDF/
│ │ └── PdfExporter.php ✅
│ └── Exception/
│ ├── ValidationException.php ✅
│ ├── PermissionDeniedException.php ✅
│ └── ExportException.php ✅
├── js/
│ └── components/
│ ├── RBAC/ (PENDING)
│ └── Export/ (PENDING)
├── tests/
│ └── Unit/
│ └── Service/
│ ├── RBAC/
│ │ └── RoleServiceTest.php ✅
│ └── Export/
│ ├── SEPA/
│ │ └── SepaXmlExporterTest.php ✅
│ └── PDF/
│ └── PdfExporterTest.php ✅
└── appinfo/
├── routes.php (PENDING)
└── info.xml (UPDATE for v0.2.0)
-
Frontend Components (50 Stunden)
- RoleManager.vue (UI für Rollenverwaltung)
- ExportDialog.vue (Export-UI)
- PermissionGrid.vue (Permissions-Visualisierung)
- Vue Tests (20+)
-
API Endpoints (30 Stunden)
/api/roles(GET, POST, PUT, DELETE)/api/export/sepa(POST mit Download)/api/export/pdf(POST mit Download)- Permission Middleware
-
Database (20 Stunden)
- Migration für Role Assignments
- Permission Storage
- Seed-Script für Default Roles
-
Integration Tests (20 Stunden)
- End-to-End Tests für Export
- Role Assignment Tests
- Permission Validation Tests
-
Documentation (20 Stunden)
- API Docs (OpenAPI/Swagger)
- User Guides
- Developer Docs
- Troubleshooting Guide
-
Performance (15 Stunden)
- DB Query Optimization
- Cache for Roles/Permissions
- Bulk Export Testing
-
Security (15 Stunden)
- Input Sanitization
- CSRF Protection
- Rate Limiting for Exports
- Batch Role Assignment
- Custom Role Creation
- Role Templates
- Audit Logging for Role Changes
| Metric | Target | Status |
|---|---|---|
| Test Coverage | 85%+ | 🟡 47/130 (36%) |
| Lines of Code | 2.500+ | 🟢 1.200+ |
| Documentation | 100% | 🟡 50% |
| No Warnings | Yes | ✅ Yes |
| Metric | Target | Status |
|---|---|---|
| SEPA Export Time | <1s | ⏳ Not yet tested |
| PDF Export Time | <2s | ⏳ Not yet tested |
| RBAC Check Time | <10ms | ⏳ Not yet tested |
RBAC Tests: 13/50+ ✅
SEPA Export Tests: 14/30+ ✅
PDF Export Tests: 20/20+ ✅
Integration Tests: 0/30 ⏳
UI Tests: 0/20 ⏳
- Feature Branch:
feature/v0.2.0-rbac-sepa-pdf - Beta Branch:
develop(after beta testing) - Release:
main(after approval)
# Run all v0.2.0 tests
npm run test:v0.2.0
# Run specific tests
npm run test -- tests/Unit/Service/RBAC/RoleServiceTest.php
npm run test -- tests/Unit/Service/Export/SEPA/SepaXmlExporterTest.php
npm run test -- tests/Unit/Service/Export/PDF/PdfExporterTest.php
# Coverage Report
npm run test:coverage# Development Build
npm run dev
# Production Build
npm run build
# Deploy to Nextcloud
npm run deploy| Date | Milestone | Status |
|---|---|---|
| 16. Nov | Foundation & Core Services | ✅ Complete |
| 20. Nov | Frontend Components | ⏳ Starting |
| 25. Nov | API Integration & DB Migration | ⏳ Pending |
| 1. Dez | Beta Release v0.2.0-beta | ⏳ Pending |
| 15. Dez | Bug Fixes & Refinements | ⏳ Pending |
| 25. Dez | Release v0.2.0 | ⏳ Pending |
- RBAC System vollständig implementiert
- SEPA XML Export funktioniert & ISO-konform
- PDF Export für alle Dokumenttypen
- 100+ Unit Tests mit 80%+ Coverage
- Alle API Endpoints dokumentiert
- Keine Security Issues
- Performance Tests bestanden
- User-Dokumentation komplett
-
Immediate (Nächste 2 Stunden):
- Commit & Push dieser Änderungen
- README aktualisieren mit Status
- GitHub Issues für remaining features erstellen
-
This Week (Diese Woche):
- Frontend-Komponenten anfangen
- API Endpoints planen
- Database-Migrations schreiben
-
Next Week (Nächste Woche):
- Integration Tests starten
- Beta-Testing mit Community
- Performance-Optimierung
GitHub Discussions: https://github.com/Wacken2012/nextcloud-verein/discussions
Entwickelt mit ❤️ von Stefan Schulz