Commit graph

6 commits

Author SHA1 Message Date
39981c0d17 Migrate: PocketBase → SvelteKit + better-sqlite3 + JWT
Vollständige Migration weg von PocketBase. Neuer Stack:
- better-sqlite3 (WAL-Mode, direkte SQLite-Abfragen)
- jose (JWT HS256, 30 Tage Laufzeit)
- bcryptjs (Passwort-Hashing, cost 12)

Neue Dateien:
- src/lib/server/db.ts    → SQLite-Singleton + Schema + Helpers
- src/lib/server/auth.ts  → JWT sign/verify, bcrypt, Bearer-Token
- src/lib/user.ts         → Svelte-Store (ersetzt pb.authStore)
- src/lib/api.ts          → fetch()-Wrapper (ersetzt pb.collection())
- src/app.d.ts            → App.Locals TypeScript-Deklaration
- 30 neue API-Routes unter src/routes/api/

Entfernt:
- Abhängigkeit von pocketbase npm-Paket (bleibt im package.json bis
  alle Referenzen bereinigt sind)
- PocketBase-Container aus docker-compose.yml
- Migrations und Hooks aus Deploy-Pipeline

Docker: Ein einziger Container, SQLite-Volume unter /data/
Makefile: PocketBase-spezifische Targets entfernt
seed.js: Komplett neu für neue REST-API
2026-05-21 21:55:04 +02:00
81f34905cf Termine: Wochen- und Monatsansicht via @event-calendar/core, umschaltbar zur Listenansicht 2026-05-20 20:33:09 +02:00
59d94f9c47 Import/Export: CSV-Export (Alle/Aktive/SEPA), JSON-Backup, CSV-Import mit Spalten-Mapping 2026-05-20 20:25:07 +02:00
3ac17b2645 Termine: Wiederholungsserien (rrule.js), iCal-Subscription-Feed (ical-generator) 2026-05-20 19:58:33 +02:00
77c6f513b5 Feature: SEPA-Export, Push-Notifications, Onboarding + vollständige UI
- Phosphor Icons (Icon.svelte, svg-Registry)
- Schema-Abgleich: alle Felder zwischen PB-Migrations und types.ts konsistent
- Stripe entfernt, SEPA pain.008 XML-Export implementiert (sepa.ts)
- Beiträge: vollständiges CRUD + SEPA-Einzug-Sheet mit Vorschau
- Termine: vollständiges CRUD (upcoming/vergangen, datetime-local)
- Mitglieder: Formulare um alle Felder erweitert (Adresse, SEPA-Mandat, Notizen)
- Nachrichten: Brevo E-Mail via PocketBase-Hook, UI mit Gruppen-Filter
- Push-Notifications: VAPID, Custom Service Worker (injectManifest),
  Subscribe/Send API-Routen, automatische Subscription nach Login
- Onboarding: 3-Schritt-Flow für neue Vereine, Guard im App-Layout
- Makefile: .env wird vollständig zur DS übertragen
2026-05-20 13:01:11 +02:00
773046c80d Grundgerüst: SvelteKit 5 + PocketBase + VitePWA
- Docker Compose Setup (PocketBase + SvelteKit Node)
- Auth: Login, Registrierung (Verein + User in PocketBase)
- Geschützte App-Shell mit Bottom-Navigation (Mobile-first)
- Platzhalterseiten: Mitglieder, Termine, Beiträge, Nachrichten
- TypeScript-Typen für alle Collections
- PWA-Manifest für vereins.haus
- Makefile für SSH-Deploy auf Synology DS
2026-05-18 18:46:33 +02:00