mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:01:08 +02:00
✨ feat(calendar): add complete calendar app with backend, web, and landing
- 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)
This commit is contained in:
parent
623b1a21b1
commit
00176a25e0
114 changed files with 9433 additions and 0 deletions
79
apps/calendar/README.md
Normal file
79
apps/calendar/README.md
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
# 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue