No description
Find a file
Daniel Michelberger 041bed923b feat: Profilbild als Knopf, und das eigene Konto laesst sich loeschen
Das Bild steht links ueber Name und Adresse und ist zugleich der Knopf:
Das Dateifeld liegt unsichtbar darunter, angeklickt wird das Bild. Ein
Label "Bild" ueber einem Dateifeld sagte nichts, was das Bild nicht
schon zeigt. Dazu eine Vorschau der Wahl — ohne sie bliebe sie
unsichtbar, weil es keinen Dateinamen mehr zu lesen gibt.

Loeschen des eigenen Kontos erlaubt users.deleteRule laengst
(id = @request.auth.id); es fehlte nur der Weg dorthin. Die Fahrer
bleiben stehen: riders.user haengt ohne Kaskade daran, also behaelt das
Team Namen, Zeiten und Teilnahmen und die Person verliert nur ihr Login.

Wer ein Team besitzt, kommt nicht durch. teams.owner ist ein Pflichtfeld
ohne Kaskade; PocketBase muesste es beim Loeschen leeren und braeche
dabei den Datensatz. Der Versuch endete in einem Fehler, den niemand
deuten kann — deshalb steht die Bedingung vorne und im Klartext.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P32KoesVtABd6xWsqMKzhr
2026-09-07 22:11:44 +02:00
backend feat: Ein Fahrer hat einen Namen, nicht zwei 2026-09-07 22:10:30 +02:00
docs/superpowers docs: Plan-Korrekturen aus der Umsetzung nachziehen 2026-08-06 19:30:44 +02:00
frontend feat: Profilbild als Knopf, und das eigene Konto laesst sich loeschen 2026-09-07 22:11:44 +02:00
.gitignore docs: Plan-Korrekturen aus der Umsetzung nachziehen 2026-08-06 19:30:44 +02:00
CLAUDE.md refactor: Team und Kader an einem Ort 2026-09-07 22:11:13 +02:00
NAMING.md refactor: Team und Kader an einem Ort 2026-09-07 22:11:13 +02:00
README.md chore: Repo-Struktur mit frontend/ und backend/ aufsetzen 2026-08-06 13:16:43 +02:00
TODO.md refactor: Team und Kader an einem Ort 2026-09-07 22:11:13 +02:00
UML_basic.png chore: Repo-Struktur mit frontend/ und backend/ aufsetzen 2026-08-06 13:16:43 +02:00

stammtisch-hersbruck.de

Zeitmessung und Verwaltung für Läufe des Stammtisch Hersbruck.

Das Repository enthält beide Teile der Anwendung:

Verzeichnis Inhalt
frontend/ SvelteKit-5-Anwendung (Svelte 5 Runes, Tailwind 4)
backend/ PocketBase-Instanz — Dockerfile, Schema-Migrationen

Schnellstart

Frontend gegen die produktive Instanz:

cd frontend
cp .env.example .env      # Werte eintragen
npm ci
npm run dev

Die App läuft dann auf http://stammtisch-hersbruck.de.localhost:31337

Backend lokal (optional — der Default zeigt auf die produktive Instanz):

cd backend
cp .env.example .env      # Werte eintragen
docker compose up -d --build

Danach in frontend/.env PUBLIC_PB_URL=http://127.0.0.1:8090 setzen.

Details stehen in backend/README.md.

PocketBase

Produktiv: https://api.stammtisch-hersbruck.de

Welche Instanz das Frontend anspricht, entscheidet PUBLIC_PB_URL in frontend/.env. Das Schema ist als Migration in backend/pb_migrations/ versioniert.