Home - marcohoegen/TWP_KonferenzTool GitHub Wiki
Confeed – Projektdokumentation (EAH Jena)
Projektziel: Entwicklung eines webbasierten, anonymen Feedback-Tools für wissenschaftliche Konferenzen (I4CS 2026, Kopenhagen).
Technologie-Stack: React · NestJS · PostgreSQL · Docker · REST-API
Team: Projektgruppe Confeed, Ernst-Abbe-Hochschule Jena (Studiengang Wirtschaftsingenieurwesen Digitale Wirtschaft)
Inhaltsverzeichnis
1. Projektübersicht
- 1.1 Projektbeschreibung
Ziele, Anwendungsfall, Hauptfunktionen - 1.2 Projektorganisation
Teamstruktur, Rollen, Kommunikationswege, Aufgabenverteilung - 1.3 Projektplan & Meilensteine
Acht-Wochen-Plan, Aufgabenpakete, Statusübersicht - 1.4 Anforderungen
Funktionale & nicht-funktionale Anforderungen, Systemziele
2. Architektur & Systemdesign
- 2.1 Systemarchitektur
Gesamtübersicht (Frontend, Backend, Datenbank, API-Kommunikation, Docker) - 2.2 Datenmodell
ER-Diagramm, Tabellen, Relationen, Feldbeschreibungen - 2.3 API-Design
REST-Endpunkte, Request-/Response-Schemas, Statuscodes - 2.4 Schnittstellen
Interne und externe Schnittstellen, Authentifizierung, Datenflüsse
3. Architekturentscheidungen (ADRs = Architecture Decision Record)
Dokumentation der zentralen Technologieentscheidungen mit Begründung und aktuellem Status.
| Nr. | Thema | Status | Kurzbeschreibung |
|---|---|---|---|
| ADR-001 | Datenbanktechnologie | beschlossen | Auswahl PostgreSQL als relationale Open-Source-Datenbank für Stabilität, Skalierbarkeit und Kompatibilität mit Prisma ORM |
| ADR-002 | Backend-Framework | beschlossen | Entscheidung für NestJS (Node.js + TypeScript) wegen modularer Architektur, Dependency Injection und einfacher REST-API-Implementierung |
| ADR-003 | Frontend-Technologie | beschlossen | Verwendung von React mit TypeScript für eine performante, komponentenbasierte und wartbare Benutzeroberfläche |
| ADR-004 | Hosting & Deployment | geplant | Einsatz von Docker zur Containerisierung; lokale bzw. hochschulinterne Bereitstellung (On-Prem); optionaler Reverse-Proxy |
| ADR-005 | Authentifizierung & Anonymität | abgeschlossen | Implementierung eines internen Admin-Login-Systems mit Passwort-Hashing (bcrypt) und JWT-basierten Session-Cookies. Endpunkte für Login, Logout und Benutzer-Validierung. Teilnehmerfeedback bleibt vollständig anonym; keine personenbezogenen Daten werden gespeichert. Keine Integration externer Authentifizierungssysteme. |
| ADR-006 | Datenexport & Auswertung | geplant | Exportfunktionen in CSV/PDF, grafische Darstellung der Ergebnisse mit Chart.js |
| ADR-007 | Datenschutz & Sicherheit | geplant | Umsetzung gemäß DSGVO; HTTPS-Verschlüsselung, Zugriffsbeschränkungen, Log-Handling und sichere Datenhaltung |
4. Implementierung
-
4.1 Frontend (React)
Komponentenstruktur, State-Management, Routing, UI/UX-Design, Formularvalidierung -
4.2 Backend (NestJS / TypeScript)
API-Endpunkte, Controller-Logik, Prisma ORM, Datenvalidierung, Fehlerbehandlung -
4.3 Datenbank (PostgreSQL)
Tabellenstruktur, Migrationsskripte, Indizes, Relationen, Backups -
4.4 Containerisierung (Docker)
Dockerfile-Setup, Compose-Konfiguration, Umgebungsvariablen, Ports, Volumes, Netzwerk -
4.5 Konfiguration & Umgebung
.env-Setup, lokale Entwicklungsumgebung, Testkonfiguration
5. Qualitätssicherung
- 5.1 Teststrategie
Unit-, Integration- und Systemtests, Testumgebung - 5.2 Sicherheitsprüfung
Zugriffsrechte, Injection-Prävention, Input-Validation - 5.3 Code-Richtlinien
Namenskonventionen, Branching, Commit-Standards - 5.4 Review-Prozess
Pull-Requests, Code-Reviews, Definition of Done
6. Betrieb & Deployment
- 6.1 Deployment (Docker)
Build-/Run-Prozess, lokale vs. produktive Umgebung - 6.2 Monitoring & Logging
Healthchecks, Logfiles, Metriken - 6.3 Backup & Recovery
Dump-Erstellung, Wiederherstellung, Cronjobs - 6.4 Wartung & Updates
Versionierung, Abhängigkeiten, regelmäßige Tests
7. Datenschutz & Sicherheit
- 7.1 Datenschutzkonzept
Verarbeitung, Anonymisierung, Aufbewahrung, DSGVO-Checkliste - 7.2 Zugriffskontrolle
Admin-Bereich, Rollen, API-Schlüssel - 7.3 Sicherheitsmaßnahmen
Transportverschlüsselung, Passwort-Handling, Rate Limiting
8. Dokumentation & Wissenstransfer
- 8.1 Benutzerhandbuch (Admin)
Anlegen von Vorträgen, QR-Codes, Export - 8.2 Benutzerhandbuch (Teilnehmende)
Feedback-Abgabe, Bewertungskriterien - 8.3 Entwicklerdokumentation
Setup, Projektstruktur, Architekturdiagramme - 8.4 Lessons Learned
Reflexion, Verbesserungspotenziale, Projekterkenntnisse
9. Anhang
- 9.1 Glossar
Begriffserklärungen und technische Abkürzungen - 9.2 Quellenverzeichnis
Fachliteratur, Framework-Dokumentationen, Benchmarks - 9.3 Kontakt / Mitwirkende
Hinweise
- Alle Architekturentscheidungen (ADRs) folgen dem Standardformat nach Michael Nygard (2011).
- Das Wiki ist so aufgebaut, dass es von neuen Projektteams fortgeführt werden kann.
- Jede Seite enthält am Ende eine Rubrik „Stand / Zuletzt aktualisiert“, um Änderungen nachvollziehbar zu halten.
Stand
Letzte Aktualisierung: 30. Oktober 2025
Verantwortlich für Dokumentation: Marlon Joerns, Aya Lkhalidi