Wir modernisieren das Redaktionssystem der Smart Village App zu einer integrierten Plattform für Content-Management, Benutzerverwaltung, App-Design, Module und Schnittstellen. Fokus: nutzerfreundlich, sicher, erweiterbar.
SVA Studio soll als Headless- und API-first-System sowohl die App versorgen als auch als Stadt-CMS bzw. Content-Hub für externe Kanäle dienen (Websites, Stelen, Fachsoftware). Schwerpunkt liegt auf strukturierten Inhalten (Presse, Events, POI, Verwaltungsleistungen, Baustellen, Stellenanzeigen), aber auch Sensordaten und anderen typischen Smart City Daten. Ziel ist ein flexibles System, das Inhalte auch in externen Systemen pflegen lässt.
Das bestehende Redaktionssystem ist umständlich, schwer erweiterbar und limitiert in Konfiguration und UX. SVA Studio adressiert das durch:
- Einfachere tägliche Abläufe für Verwaltung und Engagierte
- Individuelle Gestaltungsmöglichkeiten (Design, Module)
- Modulare Architektur für Erweiterungen
- DSGVO-konforme Datenspeicherung
- Bessere Integration in kommunale Systeme
- Anwender:innen erledigen ihre Arbeit deutlich einfacher, mit verständlicher Doku/Schulungen.
- Technisch entsteht eine stabile, sichere, erweiterbare Architektur für Module, Schnittstellen, Drittanbieter.
- Community/Kommunen sind eingebunden und identifizieren sich mit dem Ergebnis.
- System-Administrator:innen: Stabilität, Sicherheit, Rollen/Rechte, Logging/Monitoring.
- App-Manager:innen: Dashboard, Freigaben, Nutzungsberichte, Rollenvergabe.
- Feature-Manager:innen: Konfigurierbare Module, flexible Schnittstellen, einfache Konfig-UI.
- Designer:innen: Layout/Navigation/Farben anpassen, CD-Support, Vorschau/Test.
- Schnittstellen-Manager:innen: Offene APIs/Standards, Doku, Monitoring der Datenflüsse.
- Redakteur:innen: Einfache Text/Bild-Bearbeitung, Workflows, Versionierung/Archiv.
- Moderator:innen/Support: Nutzerbetreuung, Feedback-Kanäle, einfache Hilfen.
- Inhaltsersteller:innen: Sehr einfache Bedienung, klare Struktur, eingeschränkte Rechte.
- Entscheider:innen: KPI-Dashboards, Kampagnensteuerung, Ressourcen/Budget-Planung.
SVA Studio versteht sich als echtes Open-Source-Projekt. Das bedeutet für uns:
- Offene Governance: Transparente Entscheidungsprozesse, Community-Beteiligung bei der Weiterentwicklung
- Klare Lizenzstrategie: Favorit ist die EUPL (European Union Public License) – die finale Entscheidung wird in Issue #2 dokumentiert
- Community-Contributions: Aktive Einbindung von Entwickler:innen, Designer:innen und Anwender:innen
- Nachhaltiger Betrieb: Organisation und Finanzierung über die Förderphase hinaus sicherstellen
- Standards & Compliance: IT-Sicherheits-Leitlinie, BSI-Grundschutz, BITV, Föderale IT-Architekturrichtlinien, DSGVO, Open-Source-Vorgaben (MPSC), relevante Datenstandards (xZuFi, OParl, Open311, schema.org, ...)
Wir nutzen pnpm (Version in package.json / .tool-versions).
Die drei offiziellen Laufzeitprofile werden zentral über SVA_RUNTIME_PROFILE und die Kommandos pnpm env:*:<profil> gesteuert:
local-keycloakfür lokalen Betrieb aufhttp://localhost:3000mit Test-Realmlocal-builderfür lokalen Builder.io-Betrieb mit Mock-Useracceptance-hbfür die HB-Abnahme aufhttps://hb-meinquartier.studio.smart-village.app
Kanonische Profildefinitionen liegen unter config/runtime/. Projektweite Start-, Stop-, Update-, Smoke- und Migrationskommandos sind in docs/development/runtime-profile-betrieb.md dokumentiert.
Das Repository erwartet eine aktuelle Node.js-LTS-Version gemäß .nvmrc bzw. .node-version.
Mit nvm:
nvm use
node --versionOption A: Corepack (Node.js)
corepack enable
corepack prepare pnpm@9.12.2 --activate
pnpm installFür lokale Tests mit Redis TLS müssen Entwickler:innen eigene Zertifikate generieren. Die Zertifikate sind absichtlich nicht im Repository versioniert.
- Zertifikate generieren:
./dev/generate-tls-certs.sh-
Zertifikate liegen danach unter
dev/redis-tls/(wird von Git ignoriert). -
Redis mit TLS starten (docker-compose) und Verbindung testen:
docker-compose up -d redis
redis-cli -h localhost -p 6380 --cacert dev/redis-tls/ca.pem pingSiehe docs/development/monitoring-stack.md für Setup, Health-Checks und Dashboards.
Siehe docs/development/postgres-setup.md für Setup, Env-Konfiguration, Health-Checks und Reset.
Label-Schema (Whitelist):
workspace_id,component,environment,level
Verbotene Labels (PII / High Cardinality):
user_id,session_id,email,request_id,token,authorization,api_key,secret,ip
- Dokumentationsindex: docs/README.md
- Architektur-Einstiegspunkt (arc42): docs/architecture/README.md
- Architekturentscheidungen (ADR): docs/adr/README.md
- Monorepo- und Paketstruktur: docs/monorepo.md
- Testing/Coverage: docs/development/testing-coverage.md
- Entwicklungs-Playbook: docs/development/playbook.md
Der aktuelle Code-Stand dieses Repos bildet vor allem technische Grundlagen ab:
- TanStack Start App
apps/sva-studio-react - Typsicheres Routing mit Core-/Plugin-Route-Factories
- OIDC Login + Session-Verwaltung (Redis) ueber
packages/auth - SDK Logger + OpenTelemetry Pipeline (lokaler Monitoring-Stack)
Das beigefuegte Konzept unter concepts/konzeption-cms-v2/ liefert den fachlichen Hintergrund.
Roadmap-/Milestone-Inhalte daraus sind nicht automatisch als implementiert zu verstehen.
