managarten/apps/calendar/README.md
Till JS 22a73943e1 chore: complete ManaCore → Mana rename (docs, go modules, plists, images)
Final cleanup of references missed in previous rename commits:

- Dockerfiles: PUBLIC_MANA_CORE_AUTH_URL → PUBLIC_MANA_AUTH_URL
- Go modules: github.com/manacore/* → github.com/mana/* (7 go.mod files)
- launchd plists: com.manacore.* → com.mana.* (14 files renamed + content)
- Image assets: *_Manacore_AI_Credits* → *_Mana_AI_Credits* (11 files)
- .env.example files: ManaCore brand strings → Mana
- .prettierignore: stale apps/manacore/* paths → apps/mana/*
- Markdown docs (CLAUDE.md, /docs/*): mana-core-auth → mana-auth, etc.

Excluded from rename: .claude/, devlog/, manascore/ (historical content),
client testimonials, blueprints, npm package refs (@mana-core/*).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:26:10 +02:00

79 lines
2.3 KiB
Markdown

# 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
```bash
# 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 mana -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](apps/backend) | 3014 | NestJS REST API |
| [Web](apps/web) | 5179 | SvelteKit Web-App |
| [Landing](apps/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 Auth (JWT)
## Dokumentation
Siehe [CLAUDE.md](CLAUDE.md) für die vollständige technische Dokumentation.
## Entwicklung
```bash
# 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 - Mana