mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 22:41:09 +02:00
- NestJS backend with Drizzle ORM (port 3014) - Calendar, Event, Reminder, Share, Sync modules - Full CRUD API endpoints - PostgreSQL database schema (5 tables) - SvelteKit web app with Svelte 5 runes (port 5179) - Week, Day, Month views - Agenda list view - Event management (create, edit, delete) - Calendar management - Auth integration with Mana Core Auth - i18n support (DE, EN, FR, ES, IT) - Astro landing page (port 4322) - Hero, Features, Pricing sections - Responsive dark theme design - @calendar/shared package - TypeScript types for Calendar, Event, Reminder, Share - RFC 5545 RRULE support for recurring events - Full documentation (CLAUDE.md, README.md)
79 lines
2.3 KiB
Markdown
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 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](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 Core 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 - Manacore
|