Files
tessera-ctl/.planning/REQUIREMENTS.md
T
schalli 0517e2b2b9 docs(01-01): complete walking skeleton plan
- Created 01-01-SUMMARY.md with execution results
- Updated STATE.md with plan completion and metrics
- Updated ROADMAP.md marking plan 01-01 complete
- Updated REQUIREMENTS.md marking INFRA-01, INFRA-02, INFRA-03 complete
2026-06-18 10:20:25 +02:00

181 lines
6.7 KiB
Markdown

# Requirements: Tessera
**Defined:** 2026-06-18
**Core Value:** Eine zentrale Plattform, in der beliebige Workflow-Tools als Module lizenziert, aktiviert und genutzt werden koennen — ohne zwischen verschiedenen Anwendungen wechseln zu muessen.
## v1 Requirements
Requirements for initial release. Each maps to roadmap phases.
### Authentication & User Management
- [ ] **AUTH-01**: Initialer Admin-Account wird beim Setup via Docker-ENV erstellt
- [ ] **AUTH-02**: Admin kann Benutzer manuell anlegen, bearbeiten und loeschen
- [ ] **AUTH-03**: Benutzer kann sich anmelden und abmelden
- [ ] **AUTH-04**: Benutzer-Session bleibt ueber Browser-Refresh bestehen
- [ ] **AUTH-05**: Rollenbasierte Zugriffskontrolle (Admin, User)
- [ ] **AUTH-06**: Benutzer koennen per LDAP/AD importiert werden
### Multi-Tenancy
- [ ] **TNNT-01**: Daten sind per PostgreSQL Row-Level Security mandantengetrennt
- [ ] **TNNT-02**: Admin kann Mandanten anlegen und verwalten
- [ ] **TNNT-03**: Jeder Request wird automatisch dem richtigen Mandanten zugeordnet
### Portal Shell
- [ ] **PRTAL-01**: Schmale Kopfzeile mit Branding und Benutzer-Menu
- [ ] **PRTAL-02**: Linke Seitenleiste zeigt Kategorien und aktivierte Module
- [ ] **PRTAL-03**: Ausgewaehltes Modul oeffnet sich im Hauptbereich (Mitte)
- [ ] **PRTAL-04**: Responsive Layout fuer verschiedene Bildschirmgroessen
- [ ] **PRTAL-05**: Module koennen in der Seitenleiste durchsucht und gefiltert werden
### Marketplace
- [ ] **MRKT-01**: Uebersicht aller verfuegbaren Module mit Beschreibung und Kategorie
- [ ] **MRKT-02**: Admin kann Module pro Mandant aktivieren und deaktivieren
- [ ] **MRKT-03**: Nur aktivierte Module erscheinen in der Seitenleiste des Mandanten
- [ ] **MRKT-04**: Module sind in Kategorien gruppiert
### Dashboard
- [ ] **DASH-01**: Konfigurierbares Dashboard als Startseite mit Drag & Drop Grid
- [ ] **DASH-02**: Widgets koennen frei positioniert und in der Groesse geaendert werden
- [ ] **DASH-03**: Uhr-Widget (analog oder digital)
- [ ] **DASH-04**: Suchleiste-Widget (oeffnet Google/Suchmaschine im Browser)
- [ ] **DASH-05**: Kalender-Widget mit Terminvorschau
- [ ] **DASH-06**: Notiz-Widget (Freitext-Kachel)
- [ ] **DASH-07**: Dashboard-Layout wird pro Benutzer gespeichert
### Kalender-Integration
- [ ] **CAL-01**: In Einstellungen koennen mehrere Kalenderquellen eingebunden werden (WebDAV, Exchange, ICS-Link)
- [ ] **CAL-02**: Benutzer kann waehlen welche Kalender im Widget angezeigt werden
- [ ] **CAL-03**: Benutzer kann waehlen fuer welche Kalender Terminvorschauen angezeigt werden
### Module System
- [ ] **MOD-01**: Versioniertes Modul-SDK mit standardisiertem Interface (@tessera/sdk)
- [ ] **MOD-02**: Module werden per Datenbank-Registry verwaltet
- [ ] **MOD-03**: Module koennen ohne Neustart aktiviert/deaktiviert werden
- [ ] **MOD-04**: Modul-UIs werden per Lazy Loading geladen (kein Bundle-Bloat)
### Domaincheck (Erstes Modul)
- [ ] **DCHK-01**: Benutzer kann eine Domain in ein Eingabefeld eingeben
- [ ] **DCHK-02**: System prueft ob die Domain registriert oder frei ist
- [ ] **DCHK-03**: Ergebnis wird klar angezeigt (frei/registriert)
### UI & Internationalisierung
- [ ] **UI-01**: Light/Dark Theme umschaltbar pro Benutzer
- [ ] **UI-02**: Zweisprachig: Deutsch und Englisch mit Sprachwahl
- [ ] **UI-03**: i18n-Framework von Anfang an integriert (alle Strings ueber t('key'))
### Infrastruktur
- [x] **INFRA-01**: Komplette Anwendung laeuft als Docker-Compose-Stack
- [x] **INFRA-02**: PostgreSQL-Datenbank im Container
- [x] **INFRA-03**: Docker-Netzwerksegmentierung (Frontend/Backend/Data)
- [ ] **INFRA-04**: Automatisierte Gitea-Integration (Commits, Pushes, Merges)
### Desktop-Client
- [ ] **DESK-01**: Tauri-basierter Desktop-Wrapper fuer Windows und Linux
- [ ] **DESK-02**: Desktop-App verbindet sich mit dem Web-Backend (kein eigenstaendiger Server)
## v2 Requirements
Deferred to future release. Tracked but not in current roadmap.
### Authentication Erweiterungen
- **AUTH-V2-01**: SSO/OIDC-Anbindung
- **AUTH-V2-02**: Zwei-Faktor-Authentifizierung (2FA)
- **AUTH-V2-03**: Magic-Link Login
### Marketplace Erweiterungen
- **MRKT-V2-01**: Bezahlsystem fuer Module (Lizenzschluessel oder Abo)
- **MRKT-V2-02**: Drittanbieter koennen Module einreichen
- **MRKT-V2-03**: Bewertungen und Reviews fuer Module
### Erweiterte Features
- **FEAT-V2-01**: Notification Center (In-App-Benachrichtigungen)
- **FEAT-V2-02**: Per-Tenant Branding (Logo + Akzentfarbe)
- **FEAT-V2-03**: Keyboard Shortcuts und Command Palette
- **FEAT-V2-04**: Admin-Impersonation (als anderer Benutzer agieren)
- **FEAT-V2-05**: Onboarding-Wizard fuer neue Mandanten
## Out of Scope
| Feature | Reason |
|---------|--------|
| Mobile App | Web-first, Desktop-Wrapper reicht fuer v1 |
| Real-time Chat | Hohe Komplexitaet, nicht Kern der Plattform |
| Video/Streaming | Storage/Bandwidth, nicht relevant fuer Workflow-Tools |
| Payment/Billing | Lizenzierung erstmal per Admin-Freischaltung |
| Third-Party Module SDK | Erst eigene Module, oeffnung spaeter |
| Microservice-Architektur | Modular Monolith reicht, Extraction spaeter moeglich |
## Traceability
Which phases cover which requirements. Updated during roadmap creation.
| Requirement | Phase | Status |
|-------------|-------|--------|
| AUTH-01 | Phase 2 | Pending |
| AUTH-02 | Phase 2 | Pending |
| AUTH-03 | Phase 2 | Pending |
| AUTH-04 | Phase 2 | Pending |
| AUTH-05 | Phase 2 | Pending |
| AUTH-06 | Phase 2 | Pending |
| TNNT-01 | Phase 2 | Pending |
| TNNT-02 | Phase 2 | Pending |
| TNNT-03 | Phase 2 | Pending |
| PRTAL-01 | Phase 1 | Pending |
| PRTAL-02 | Phase 4 | Pending |
| PRTAL-03 | Phase 4 | Pending |
| PRTAL-04 | Phase 1 | Pending |
| PRTAL-05 | Phase 4 | Pending |
| MRKT-01 | Phase 4 | Pending |
| MRKT-02 | Phase 4 | Pending |
| MRKT-03 | Phase 4 | Pending |
| MRKT-04 | Phase 4 | Pending |
| DASH-01 | Phase 5 | Pending |
| DASH-02 | Phase 5 | Pending |
| DASH-03 | Phase 5 | Pending |
| DASH-04 | Phase 5 | Pending |
| DASH-05 | Phase 5 | Pending |
| DASH-06 | Phase 5 | Pending |
| DASH-07 | Phase 5 | Pending |
| CAL-01 | Phase 5 | Pending |
| CAL-02 | Phase 5 | Pending |
| CAL-03 | Phase 5 | Pending |
| MOD-01 | Phase 3 | Pending |
| MOD-02 | Phase 3 | Pending |
| MOD-03 | Phase 3 | Pending |
| MOD-04 | Phase 3 | Pending |
| DCHK-01 | Phase 3 | Pending |
| DCHK-02 | Phase 3 | Pending |
| DCHK-03 | Phase 3 | Pending |
| UI-01 | Phase 1 | Pending |
| UI-02 | Phase 1 | Pending |
| UI-03 | Phase 1 | Pending |
| INFRA-01 | Phase 1 | Complete |
| INFRA-02 | Phase 1 | Complete |
| INFRA-03 | Phase 1 | Complete |
| INFRA-04 | Phase 6 | Pending |
| DESK-01 | Phase 6 | Pending |
| DESK-02 | Phase 6 | Pending |
**Coverage:**
- v1 requirements: 44 total
- Mapped to phases: 44
- Unmapped: 0
---
*Requirements defined: 2026-06-18*
*Last updated: 2026-06-18 after roadmap creation*