managarten/apps/calendar
Till-JS 6d86a08d63 feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin)
Phase 1: Infrastructure
- Add docker/prometheus/prometheus.yml with scrape configs for all services
- Add docker/grafana/provisioning for auto-configured datasources
- Add docker/grafana/dashboards (system-overview, backends-docker)
- Update docker-compose.macmini.yml with monitoring services:
  - prometheus, grafana, node-exporter, cadvisor
  - postgres-exporter, redis-exporter, umami
- Add grafana.mana.how and analytics.mana.how to Caddyfile

Phase 2: Backend Metrics
- Create packages/shared-nestjs-metrics with:
  - MetricsModule (auto /metrics endpoint)
  - MetricsService (Counter, Histogram, Gauge helpers)
  - MetricsMiddleware (auto HTTP request tracking)

Phase 3: Umami Web Analytics
- Add Umami tracking scripts to all landing pages
- Add Umami tracking scripts to all web apps
- Create scripts/mac-mini/setup-umami-db.sh

Phase 4: Admin Dashboard (ManaCore Web)
- Add admin routes: /admin, /admin/users, /admin/system
- Create StatCard, QuickLinks, UserTable components
- Add Admin link to navigation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:31:39 +01:00
..
apps feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin) 2026-01-23 15:31:39 +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 🔧 chore: enforce monorepo best practices with automated validation 2025-12-25 17:57:00 +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