DevBoard

Projektverwaltung für Entwicklerteams

Organisationen, Projekte, ein Kanban-Board und ein Aktivitäts-Feed – mit Anbindung an GitHub. Gebaut als Referenzprojekt: vollständig getestet, dokumentiert und im echten Betrieb.

Was die Anwendung kann

Organisationen und Rollen

Mehrere Teams in einer Anwendung, getrennt auf Datenebene. Rollen von OWNER bis MEMBER, Einladungen per Token.

Projekte und Aufgaben

Aufgaben mit Status, Beschreibung und Zuordnung – gruppiert in Projekten je Organisation.

Kanban-Board

Verschieben per Maus oder Tastatur. Die Reihenfolge bleibt stabil, auch wenn zwei Personen gleichzeitig sortieren.

Dashboard und Feed

Kennzahlen der Organisation und ein fortlaufendes Protokoll aller Änderungen, seitenweise nachladbar.

GitHub-Integration

Ein Repository verbinden, und Pushes und Pull Requests erscheinen im Feed – über signierte Webhooks.

Wie sie gebaut ist

Mandantentrennung in der Abfrage

Die Organisation steht in der WHERE-Bedingung, nicht in einer Prüfung danach. Abgesichert durch Tests, die fremde Zugriffe erwarten – und durch Mutationsproben, die belegen, dass diese Tests den Schutz wirklich bewachen.

Nebenläufigkeit, die geprüft ist

Sortierung per fractional indexing, optimistisches Sperren beim Verschieben mit 409 bei Konflikt, Idempotenz eingehender Webhooks über ein UNIQUE statt über ein vorheriges Nachsehen.

Gemessen statt behauptet

Zwei Skripte im Repository lassen die naive und die optimierte Fassung nebeneinander laufen: 202 gegen 4 Abfragen beim Dashboard, dazu die Ausführungspläne des Feeds auf 40.000 Zeilen.

Entscheidungen mit Preis

Neunzehn Architekturentscheidungen mit verworfenen Alternativen und eingestandenen Nachteilen – und ein Fehlerprotokoll mit den eigenen Fehlern statt einer Hochglanzfassung.

Aufbau

Vercel

Next.js

Oberfläche, statisch ausgeliefert

Hetzner

NestJS im Container

hinter einem Reverse Proxy, ohne eigenen Port nach außen

Neon

PostgreSQL

verwaltet, mit geprüfter TLS-Verbindung

Aufgeteilt nach Schadenshöhe: Was nur eine Wiederholung kostet, wird selbst betrieben. Was unwiederbringlich ist – die Daten – liegt bei einem Anbieter mit Sicherungen. Begründung in den Architekturentscheidungen.