Web-App für Lesepatenterminbuchung https://lesepaten.kontour.dev
  • Svelte 48.8%
  • TypeScript 44%
  • CSS 4.5%
  • JavaScript 1.2%
  • HTML 0.9%
  • Other 0.6%
Find a file
2026-05-07 16:33:31 +02:00
drizzle patenbuchung-fix 2026-04-30 22:37:41 +02:00
scripts init commit2 2026-04-30 13:35:41 +02:00
src add dsgvo settings fix 2026-05-07 16:33:31 +02:00
static add pwa 2026-05-02 01:25:34 +02:00
.env.example init commit2 2026-04-30 13:35:41 +02:00
.gitignore drizzle deploy2 2026-04-30 21:38:32 +02:00
CLA.md CLA.md hinzugefügt 2026-05-07 09:39:47 +00:00
docker-compose.yml init commit 2026-04-30 13:07:29 +02:00
Dockerfile drizzle deploy 2026-04-30 21:32:17 +02:00
drizzle.config.ts init commit 2026-04-30 13:07:29 +02:00
entrypoint.sh drizzle deploy 2026-04-30 21:32:17 +02:00
LICENCE.md LICENCE.md hinzugefügt 2026-05-07 09:40:35 +00:00
migrate.js drizzle deploy 2026-04-30 21:32:17 +02:00
package.json patch packages 2026-04-30 14:26:47 +02:00
README.md init commit 2026-04-30 13:07:29 +02:00
svelte.config.js patch svelte.config.js 2026-04-30 14:21:53 +02:00
vite.config.ts init commit4 2026-04-30 14:12:37 +02:00

lesepaten

Zeitmanagement-System für Lesepaten-Programme an Grundschulen.

Stack

  • Frontend/Backend: SvelteKit (Node Adapter)
  • Datenbank: PostgreSQL via Drizzle ORM
  • Auth: jose (JWT, httpOnly Cookies)
  • Mail: nodemailer
  • QR-Codes: qrcode
  • Deployment: Docker Compose

Routing-Struktur

/                          → Landing / Weiterleitung
/admin                     → Admin-Login
/admin/dashboard           → Token-Generierung für Lehrer-Registrierungen
/lehrer/registrieren/[token] → Einmalige Lehrer-Registrierung
/lehrer/login              → Lehrer-Login
/lehrer/dashboard          → Übersicht aller ClassYears
/lehrer/klasse/[id]        → Slots verwalten, QR-Code anzeigen, Buchungen einsehen
/lehrer/klasse/[id]/slots  → Slot-Vorlagen anlegen/bearbeiten
/buchen/[inviteToken]      → Paten-Einstieg (Kurzformular)
/buchen/[inviteToken]/termine → Buchungsseite (Slot-Auswahl)
/buchen/[inviteToken]/bestaetigung/[bookingId] → Buchungsbestätigung

Entwicklung

cp .env.example .env
# .env befüllen

docker compose up -d db
npm install
npm run db:generate
npm run db:migrate
npm run dev

Produktion

docker compose up -d --build

Datenbankmigrationen

npm run db:generate   # neue Migration aus Schema erzeugen
npm run db:migrate    # Migrationen anwenden
npm run db:studio     # Drizzle Studio öffnen