Files
tessera-ctl/.planning/PROJECT.md
T
schalli ae841205df
Tessera CI/CD / Lint & Type Check (push) Successful in 48s
Tessera CI/CD / Tests (push) Successful in 40s
Tessera CI/CD / Build & Publish Images (push) Successful in 2m50s
docs: start milestone v1.1 Ausschreibungs-Radar
2026-07-17 09:58:09 +02:00

101 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
## Current Milestone: v1.1 Ausschreibungs-Radar
**Goal:** Tessera-Modul, das Vergabeportale nach Ausschreibungen durchsucht, nach Kriterien filtert, Treffer im Portal anzeigt und optional per E-Mail versendet.
**Target features:**
- Zentrale Datenquelle: DÖE OpenData-API (oeffentlichevergabe.de, eForms/OCDS, auth-frei)
- Portal-Adapter: 1× AI-AG NetServer (lhs-vpbw, tender24, vergabe.landbw), 1× cosinex (DTVP)
- E-Mail-Alert-Ingestion für Unterschwellen-Portale (nutzt bestehende DKV-Inbox-Infrastruktur)
- RSS-Quellen: subreport-elvis, service.bund.de
- Normalisiertes Ausschreibungs-Schema (OCDS-orientiert) + Dedup über Quellen
- Filter-Engine: Stichwörter, Region/PLZ/Bundesland, CPV/Branche, Frist & Auftragswert
- Durchsuchbare UI-Trefferliste mit Detailansicht
- Optionaler E-Mail-Versand (periodischer Digest + Sofort-Alert), im Webinterface konfigurierbar
- Meiden (AGB-Verbot automatisierter Zugriffe): vergabe24, aumass
**Key context:** Neues Modul im bestehenden Monorepo, multi-tenant, analog DKV-Fleet- und Cert-Manager-Modul. Feasibility-Research in `.planning/research/ausschreibungs-portale-feasibility.md`. Phasen setzen die v1.0-Nummerierung fort (ab Phase 10).
## 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-07-17 — milestone v1.1 Ausschreibungs-Radar started*