03 / 05 ARBEIT / PROJEKT← Alle Arbeiten

Full-Stack-Anwendung · Backend Engineering

GoEvoli

Ein Kanban-Board sollte sich weniger wie Verwaltungssoftware anfühlen. Die interessanten Fragen kamen danach: Rechte, Ladezustände, API-Verhalten und Datenabhängigkeiten.

Kontext

Die visuelle Idee war schnell klar. Schwieriger war es, das Board unter realen Bedingungen verständlich und benutzbar zu halten: Authentifizierung, Rechte, langsame Anfragen und mobile Nutzung.

Ansatz

Das Projekt besteht aus einem Go-Backend, einem React/TypeScript-Frontend und MongoDB. Ich habe an Backend, Interaktion, Sicherheit und Deployment gearbeitet.

System

  • React / TypeScript: Board und Interaktion
  • Go / Chi: API und Sessions
  • MongoDB: Projekte, Stories, Tasks und Bugs
  • Docker: Deployment
SYSTEMSCHICHTEN
NetworkBackendInterfaceOperations

Technische Entscheidungen

  • Session-Cookies mit CSRF-Schutz und Rate Limiting absichern.
  • WebSocket-Unterstützung für Aktualisierungen vorsehen.
  • Ladezustände so aufteilen, dass eine langsame Teilanfrage nicht die ganze Anwendung blockiert.

Was nicht funktioniert hat

Anfangs wartete das Board auf zu viele Daten gleichzeitig. Wenn eine Teilanfrage langsam war, fühlte sich die ganze Anwendung kaputt an. Einfach schneller zu laden war nicht die eigentliche Lösung.

Ergebnis

Authentifizierung, rollenbasiertes Verhalten, CSRF-Schutz, Rate Limiting, WebSockets und Docker-basiertes Deployment sind Teil des Systems.

Was ich mitgenommen habe

Die bessere Lösung war, Abhängigkeiten zu reduzieren und Inhalte schrittweise sichtbar zu machen, sobald ihre Daten verfügbar waren.