docs: initialize project

This commit is contained in:
2026-06-18 07:59:19 +02:00
commit 5899679a10
+83
View File
@@ -0,0 +1,83 @@
# Tessera
## What This Is
Tessera ist eine modulare, Docker-basierte Webplattform fuer interne Workflow-Automatisierung und Tool-Integration. Sie bietet ein Portal mit Seitenleiste, konfigurierbarem Dashboard und einem Marketplace fuer lizenzierbare Module. Perspektivisch soll Tessera auch an externe Kunden verkauft werden — Mandantenfaehigkeit ist von Anfang an eingeplant.
## 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.
## Requirements
### Validated
(None yet — ship to validate)
### Active
- [ ] Modulares Portal mit Kopfzeile und Seitenleiste (Kategorien + Module)
- [ ] Benutzerauthentifizierung (initialer Admin, manuelle Benutzerverwaltung, LDAP-Anbindung)
- [ ] Mandantenfaehigkeit (Multi-Tenancy)
- [ ] Marketplace fuer Module (Lizenzierung, Aktivierung, Kategorisierung)
- [ ] Konfigurierbares Dashboard (Drag & Drop, Groessenaenderung, Widgets: Uhr, Suchleiste, Kalender, Notizen)
- [ ] Domaincheck-Modul (erstes Beispielmodul: Domain-Verfuegbarkeitspruefung)
- [ ] Light/Dark Theme Toggle
- [ ] Mehrsprachigkeit (Deutsch + Englisch, i18n)
- [ ] Desktop-Client (Electron/Tauri Wrapper fuer Windows/Linux)
- [ ] Automatisierte Gitea-Integration (Commits, Pushes, Merges — so wenig manuell wie moeglich)
### Out of Scope
- Externe Drittanbieter-Module — erst spaeter, aktuell nur eigene Module (mit Claude)
- Bezahlsystem/Payment — Lizenzierung erstmal per Admin-Freischaltung, Bezahlung kommt spaeter
- Mobile App — Web-first, Desktop-Wrapper reicht fuer v1
## Context
- Entwicklung erfolgt ausschliesslich mit Claude (Nutzer ist kein Programmierer)
- Interne Nutzung als Testphase, spaeterer Verkauf an externe Kunden geplant
- Module sind breit gefaechert: E-Mail-Tools, Datenbank-Tools, LDAP-Tools, Konvertierungen etc.
- Dashboard ist unabhaengig von Modulen — persoenlicher Startbereich mit frei platzierbaren Widgets
- Bestehendes Gitea-Setup vorhanden, soll als Versionskontrolle genutzt werden
- Bereits teilweise umgesetztes Dashboard-Konzept vorhanden
## Constraints
- **Infrastruktur**: Docker-basiert — alle Komponenten als Container
- **Datenbank**: PostgreSQL oder MariaDB (Entscheidung durch Claude)
- **Authentifizierung**: Initialer Admin-Account + manuelle Benutzerverwaltung + LDAP
- **Versionierung**: Automatisierte Gitea-Integration (minimaler manueller Aufwand)
- **Entwicklung**: Alles wird von Claude gebaut — Architektur muss wartbar und verstaendlich sein
- **Mandantenfaehigkeit**: Von Anfang an in der Architektur verankert
## Key Decisions
| Decision | Rationale | Outcome |
|----------|-----------|---------|
| Docker als Deployment-Basis | Portabilitaet, einfache Installation, Isolation | — Pending |
| PostgreSQL als Datenbank | Robust, mandantenfaehig, hervorragender Docker-Support, JSON-Spalten fuer flexible Modul-Daten | — Pending |
| Modularer Marketplace mit Lizenzierung | Kernkonzept: Module erst nach Freischaltung sichtbar und nutzbar | — Pending |
| Light/Dark Theme von Anfang an | Benutzerfreundlichkeit, professioneller Eindruck | — Pending |
| i18n (DE+EN) von Anfang an | Spaeteres Nachrüsten ist aufwaendiger als fruehe Integration | — Pending |
| Desktop-Wrapper (Electron/Tauri) | Installierbarkeit auf Windows/Linux neben Browser-Zugriff | — Pending |
## Evolution
This document evolves at phase transitions and milestone boundaries.
**After each phase transition** (via `/gsd-transition`):
1. Requirements invalidated? → Move to Out of Scope with reason
2. Requirements validated? → Move to Validated with phase reference
3. New requirements emerged? → Add to Active
4. Decisions to log? → Add to Key Decisions
5. "What This Is" still accurate? → Update if drifted
**After each milestone** (via `/gsd-complete-milestone`):
1. Full review of all sections
2. Core Value check — still the right priority?
3. Audit Out of Scope — reasons still valid?
4. Update Context with current state
---
*Last updated: 2026-06-18 after initialization*