No description
  • Java 53.2%
  • HTML 21.3%
  • TypeScript 19.3%
  • SCSS 5.3%
  • Shell 0.4%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Dominik Bechtel 577e0af28d Fokus „zusammen dranbleiben": Personen einladen + Push-Hinweis
- Beim gemeinsamen Start können Personen ausgewählt werden; sie erhalten einen
  Web-Push „<Name> bleibt gerade dran – machst du mit?"
- Backend: FokusService versendet die Einladung (PushAboRepository.fuerPerson +
  WebPushService); SessionStartBefehl/Resource um einladenPersonIds erweitert
- Frontend: Personen-Auswahl im Fokus-Screen (eigene Person ausgeblendet)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 08:55:14 +02:00
.claude Phase 1: Auth & Stammdaten (JPA/Flyway, Keycloak, Personen-API) 2026-07-03 20:37:56 +02:00
.githooks Auto-Versionierung: pre-commit Hook erhöht Patch-Version je Commit 2026-07-19 13:06:05 +02:00
backend Fokus „zusammen dranbleiben": Personen einladen + Push-Hinweis 2026-07-21 08:55:14 +02:00
deploy Fix: Login bricht nicht mehr, wenn offline_access nicht erlaubt ist 2026-07-19 12:51:54 +02:00
docs Design: kohärentes System „ruhig & klar" + einheitliche Icons 2026-07-19 18:44:25 +02:00
frontend Fokus „zusammen dranbleiben": Personen einladen + Push-Hinweis 2026-07-21 08:55:14 +02:00
mockups UI: Mehr-Tab, FAB, responsive Kalender & Endlos-Ansicht 2026-07-05 17:43:30 +02:00
.gitignore Design: kohärentes System „ruhig & klar" + einheitliche Icons 2026-07-19 18:44:25 +02:00
CLAUDE.md Docs: docker zusätzlich zu podman in Container-Standards 2026-07-19 17:26:11 +02:00
icon.png neues logo 2026-07-19 14:16:25 +02:00
icon.svg neues logo 2026-07-19 14:16:25 +02:00
icon2.svg neues logo 2026-07-19 14:16:25 +02:00
logo.png neues logo 2026-07-19 14:16:25 +02:00
logo.svg neues logo 2026-07-19 14:16:25 +02:00
logo2.svg neues logo 2026-07-19 14:16:25 +02:00
README.md Doku: Roadmap mit Phasen-Uebersicht und Status 2026-07-04 10:53:41 +02:00

Family-Planner

Gemeinsamer Termin- und Aufgabenplaner für unsere Patchwork-Familie (zwei Haushalte). Kalender mit rollenbasierter Sichtbarkeit, Wechselmodell-Anwesenheit, Hessischen Schulferien/Feiertagen, ADHS-freundlicher Aufgabenverwaltung sowie geteilten Listen als iOS-App mit CalDAV-Integration.

Technischer Überblick

Baustein Technologie
Backend Java, Helidon MP (MicroProfile), JPA
Datenbank PostgreSQL
Authentifizierung Keycloak (OIDC / PKCE), MP-JWT
Frontend / App Angular + Ionic / Capacitor (iOS)
Kalender-Sync CalDAV (zunächst lesend), iCalendar (ical4j)
Container rootless podman (compose)

Projektstruktur

backend/    Helidon-MP-Backend (Schichten: api / application / domain / infrastructure)
frontend/   Angular-+-Ionic-App (Capacitor, iOS)
deploy/     podman-compose, Keycloak-Realm, Reverse-Proxy
docs/       roadmap (Phasen), arc42 (Architektur), adr (Entscheidungen), diataxis (Betrieb/Nutzung)
mockups/    UI-Entwürfe (HTML + PNG)

Schnellstart

Voraussetzungen: podman (rootless). Für die Einzel-Entwicklung zusätzlich Java 21+ und Node 20+.

Gesamtsystem testen (One-Shot)

./deploy/up.sh      # baut & startet Postgres, Keycloak, Backend und Web-App
./deploy/down.sh    # stoppt alles (mit -v auch Datenvolumes)

Danach:

Einzeln entwickeln

# Backend bauen/starten
cd backend && ./mvnw package && java -jar target/family-planner-backend.jar

# Frontend starten
cd frontend && npm install && npm start   # bzw. "ionic serve"

Details siehe docs/diataxis/ (Betrieb/Nutzung) und docs/arc42/ (Architektur).

Konventionen

  • Kommentare und Ausgaben auf Deutsch
  • Strikte Schichtentrennung, keine zyklischen Abhängigkeiten
  • Tests vor Merge grün (keine Logik ohne Test)
  • Architekturentscheidungen als ADR unter docs/adr/