Zum Inhalt springen

Architekturüberblick

Ebene Technologie
Frontend Vite + React + TypeScript, als PWA (vite-plugin-pwa / Workbox)
Backend Supabase — Postgres, Auth, Realtime, Storage, Edge Functions
Hosting Cloudflare Worker (Static Assets) liefert die gebaute SPA aus dist/
Auslieferung Git-Push auf main → Cloudflare Workers Build → Deploy
tagwerk/
├─ app/ ← die eigentliche Anwendung (Vite/React)
│ ├─ src/
│ ├─ supabase/migrations/ ← versionierte DB-Migrationen
│ └─ wrangler.toml ← Worker „tagwerk" (Static Assets)
├─ docs/ ← diese Dokumentation (Astro Starlight)
└─ .github/workflows/ ← CI (Build/Tests) + DB-Backups

Der Datenzugriff läuft über ein Repository-Muster: eine austauschbare Schnittstelle mit zwei Implementierungen —

  • supabaseRepository für den Produktivbetrieb,
  • memoryRepository für Tests und den E2E-Modus (VITE_DATA_SOURCE=memory).

Darüber liegt der Store (StoreContext), der den App-Zustand hält und Mutationen sowie Echtzeit-Updates bündelt.

Alle Inhalte sind pro Familie getrennt und über Row-Level-Security (RLS) in Postgres abgesichert. Eine Person kann mehreren Familien angehören; sie sieht ausschließlich Daten ihrer eigenen Familien. Details unter Sicherheit & Rollen.