managarten/apps/calendar
Wuesteon 42e5e97390 ️ fix: resolve all svelte-check a11y warnings across web apps
- Fix 121 accessibility warnings across 9 web apps (manacore, clock, chat,
  manadeck, calendar, zitare, contacts, picture, todo)
- Add proper ARIA attributes (role, tabindex, aria-label) to interactive elements
- Add onkeydown handlers alongside onclick for keyboard accessibility
- Add svelte-ignore comments for intentional patterns (modals, dropdowns)
- Update svelte-check threshold from error to warning in pre-commit hook
- Fix script compatibility for bash 3.x (remove associative arrays)
- Add comprehensive documentation for svelte-check patterns and fixes

All web apps now pass svelte-check with 0 errors and 0 warnings.
Pre-commit hooks will block any future commits with warnings.
2025-12-15 19:09:01 +01:00
..
apps ️ fix: resolve all svelte-check a11y warnings across web apps 2025-12-15 19:09:01 +01:00
packages/shared Feat: Tagmodal, fullscreenmode, tag groups, onepage design philosophy 2025-12-15 03:37:01 +01:00
CLAUDE.md feat(calendar): add complete calendar app with backend, web, and landing 2025-12-02 13:15:04 +01:00
package.json 🐛 fix(build): remove recursive build scripts from parent packages 2025-12-04 01:59:53 +01:00
README.md feat(calendar): add complete calendar app with backend, web, and landing 2025-12-02 13:15:04 +01:00

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