mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 01:01:09 +02:00
Add Single Sign-On (SSO) support across all mana.how subdomains: - Add trySSO() method to @manacore/shared-auth that exchanges session cookies for JWT tokens - Add /api/v1/auth/session-to-token endpoint to mana-core-auth service - Update all 15 web apps to try SSO during auth initialization SSO Flow: 1. User logs in on any app (e.g., calendar.mana.how) 2. Session cookie is set with Domain=.mana.how 3. When visiting another app (e.g., todo.mana.how), it checks for local tokens first 4. If no local tokens, tries SSO via session cookie 5. Session cookie is exchanged for JWT tokens via new endpoint 6. User is automatically authenticated Apps updated: calendar, chat, clock, contacts, manacore, manadeck, nutriphi, picture, planta, presi, questions, skilltree, storage, todo, zitare Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| docs | ||
| packages/shared | ||
| CLAUDE.md | ||
| package.json | ||
| README.md | ||
Kalender
Smart Calendar Management - Organisiere deine Zeit intelligent
Eine vollständige Kalender-Anwendung mit persönlichen und geteilten Kalendern, wiederkehrenden Terminen, CalDAV/iCal-Synchronisation und Erinnerungen.
Features
- Mehrere Kalender - Verwalte verschiedene Kalender für Arbeit, Privates, Familie
- Kalenderansichten - Tag, Woche, Monat, Agenda
- Wiederkehrende Termine - Flexible Wiederholungsregeln (RFC 5545)
- Kalender teilen - Mit Familie, Freunden oder Kollegen
- CalDAV/iCal Sync - Google Calendar, Apple, Outlook
- Smarte Erinnerungen - Push & E-Mail Benachrichtigungen
- Multi-Sprache - Deutsch, English, Français, Español, Italiano
Quick Start
# 1. PostgreSQL starten (falls nicht läuft)
docker compose -f docker-compose.dev.yml up -d postgres
# 2. Datenbank erstellen
PGPASSWORD=devpassword psql -h localhost -U manacore -d postgres -c "CREATE DATABASE calendar;"
# 3. Schema pushen
pnpm calendar:db:push
# 4. Backend + Web starten
pnpm dev:calendar:app
Apps
| App | Port | Beschreibung |
|---|---|---|
| Backend | 3014 | NestJS REST API |
| Web | 5179 | SvelteKit Web-App |
| Landing | 4322 | Astro Marketing-Seite |
| Mobile | - | Expo App (TODO) |
Tech Stack
- Backend: NestJS, Drizzle ORM, PostgreSQL
- Web: SvelteKit, Svelte 5, Tailwind CSS
- Landing: Astro, Tailwind CSS
- Auth: Mana Core Auth (JWT)
Dokumentation
Siehe CLAUDE.md für die vollständige technische Dokumentation.
Entwicklung
# Einzelne Apps starten
pnpm dev:calendar:backend # Backend
pnpm dev:calendar:web # Web-App
pnpm dev:calendar:landing # Landing Page
# Datenbank
pnpm calendar:db:push # Schema pushen
pnpm calendar:db:studio # Drizzle Studio öffnen
API Endpunkte
| Modul | Endpunkt | Beschreibung |
|---|---|---|
| Health | GET /api/v1/health |
Health Check |
| Calendars | GET/POST /api/v1/calendars |
Kalender CRUD |
| Events | GET/POST /api/v1/events |
Termine CRUD |
| Reminders | POST /api/v1/events/:id/reminders |
Erinnerungen |
| Shares | POST /api/v1/calendars/:id/shares |
Freigaben |
| Sync | POST /api/v1/sync/caldav/discover |
CalDAV |
Lizenz
Proprietär - Manacore