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.