10_Systemarchitektur.md - marcohoegen/TWP_KonferenzTool GitHub Wiki

2.1 Systemarchitektur

Die Anwendung besteht aus einer klar strukturierten, modularen Architektur, die aus drei Hauptkomponenten aufgebaut ist:

Frontend (React)

  • Zuständig für die Benutzeroberfläche für Teilnehmer und Admins
  • Mehrseitige Feedbackformulare (Design, Inhalt, Präsentation)
  • Kommunikation mit dem Backend über REST-API
  • Nutzung von Komponenten, State-Management und Routing

Backend (NestJS)

  • Zentrale Logik der Anwendung
  • Verarbeitung der Feedback-Eingaben
  • Admin-Authentifizierung (JWT + bcrypt)
  • REST-Endpunkte für Feedback, Admin-Login, Konferenzen und Auswertung
  • Datenvalidierung und Fehlerbehandlung

Datenbank (PostgreSQL)

  • Speicherung von Konferenzen, Präsentationen, Feedbacks, Admins
  • Entworfen auf Basis eines ER-Diagramms, umgesetzt mit Prisma ORM
  • Migrationshistorie zur Nachverfolgbarkeit von Schema-Änderungen

Docker & Infrastruktur

  • Beide Hauptkomponenten laufen in isolierten Docker-Containern
  • Docker Compose zur Verwaltung der Services (Frontend, Backend, DB)
  • Einheitliche Entwicklungs- und Deployment-Umgebung

Diese Architektur ermöglicht eine saubere Trennung von Verantwortlichkeiten, einfache Wartbarkeit und einen klaren Entwicklungsprozess.