Projekte tafelrunde

tafelrunde

Live · nur mit Zugang

Karte mit besuchten Lokalen, verdeckte Bewertungen und ein Terminplaner. Vier Leute, ein Abend im Monat.

Zeitraum
2026
Rolle
Alleine — Konzept bis Betrieb
Zustand
Live, hinter dem Single-Sign-on
Code
Repository privat

Vier Leute, ein Abend im Monat, und jedes Mal dieselbe Frage: Wo waren wir noch mal, und war es gut? Die Antwort stand in einem PDF, das niemand aufmachte.

Tafelrunde macht daraus eine Karte, auf der jeder Besuch mit Bildern und Bewertung hängt, eine Wunschliste mit Zufallsauswahl für die Abende ohne Idee, und seit dem letzten Ausbau einen Terminplaner, der den nächsten Abend abstimmt.

Das Projekt hat auf zweiundvierzig Commits neunzehn Architekturentscheidungen — mehr als jedes andere hier. Das ist kein Zufall: bei vier Nutzern kostet eine falsche Entscheidung wenig, also lohnt es sich, sie aufzuschreiben, statt sie zu diskutieren.

Stack
TypeScriptFastifySQLite (better-sqlite3)React · ViteMapLibre GL JSProtomaps / PMTilesSingle-Sign-on (OIDC)Docker

Entscheidungen

ADR 0004

SQLite statt Postgres

Vier Nutzer, ein paar hundert Zeilen. Eine Datei auf der Platte ist gesichert, indem man sie kopiert — ein zweiter Container mit eigener Datensicherung wäre Aufwand ohne Gegenwert.

ADR 0003

Protomaps statt MapTiler

Das Kartenmaterial liegt als eine PMTiles-Datei auf dem eigenen Server und wird per Range-Request gelesen. Kein Schlüssel, kein Kontingent, keine dritte Partei, die mitliest, wo wir essen gehen.

ADR 0011

Single-Sign-on statt Basic Auth

Basic Auth kannte kein „wer“: Bewertungen ließen sich niemandem zuordnen. Mit einem echten Anmeldeverfahren hat jede Bewertung einen Absender.

ADR 0017

Verdeckt bewerten, einmal aufdecken

Wer die Note der anderen sieht, bevor er seine abgibt, gibt nicht mehr seine ab. Jeder bewertet für sich, aufgedeckt wird gemeinsam.