Exambyte
Web-basiertes Testsystem als Alternative zu ILIAS für Programmierlabore.
Projektübersicht
ExamByte wurde als moderne und effiziente Alternative zur bestehenden Prüfungsplattform ILIAS für die Klausurzulassung im Programmierpraktikum entwickelt. Die Anwendung dient als webbasiertes Testsystem, das die Durchführung von Tests mit verschiedenen Fragetypen (Multiple-Choice, Freitext) unterstützt und eine manuelle Korrektur ermöglicht. Ein zentrales Feature ist die rollenbasierte Authentifizierung (Studenten, Korrektoren, Organisatoren, IT und Admin) über GitHub OAuth.
Ziel war es, die Effizienz und Transparenz des gesamten Prüfungsprozesses zu verbessern. Studierende erhalten eine klare Übersicht über ihren Zulassungsstatus, während Korrektoren und Organisatoren eine bessere Kontrolle über den Korrekturfortschritt und die allgemeine Prüfungsverwaltung haben.
Wesentliche Funktionale Anforderungen
- Authentifizierung über GitHub OAuth mit differenzierten Rollen.
- Unterstützung für Multiple-Choice- und Freitextfragen.
- Umfassende Testverwaltung: Erstellung, Durchführung und Bewertung von Tests.
- Manuelle Bewertung von Freitextaufgaben inklusive einer verpflichtenden Feedback-Funktion für Korrektoren.
- Detaillierte Übersichten für Organisatoren zur Verfolgung des Korrekturstatus und der Ergebnisse.
- Export-Funktionen für Testergebnisse im CSV-Format.
- Klare Anzeige des Zulassungsstatus für Studierende.
Architekturkonzept & Einschränkungen
Die Entwicklung von ExamByte unterlag spezifischen technologischen und organisatorischen Rahmenbedingungen.
- Technologie-Stack: Verpflichtende Entwicklung in Java mit Spring Boot und PostgreSQL als Datenbank.
- Authentifizierung: Ausschließlich über GitHub OAuth2.
- Hosting: Bereitstellung als Docker-Container, verwaltet mit Docker Compose.
- Datenverarbeitung: Sichere Speicherung und Verarbeitung von Daten unter Einhaltung der Datenschutzrichtlinien.
- Versionskontrolle: Verwaltung des Projekts in einem Git-Repository mit strukturierten Commits.
- Barrierefreiheit: Kompatibilität mit Screenreadern und Bedienbarkeit ohne Maus.
Technischer Kontext & Schnittstellen
- Web-Frontend: Realisiert mit Thymeleaf und HTML/CSS (Bootstrap) für die Interaktion der Nutzer.
- REST API: Bereitstellung aller notwendigen Endpunkte für Testverwaltung und Bewertung mittels Spring Boot Controllern.
- Datenbank: PostgreSQL zur Speicherung aller relevanten Test- und Nutzerdaten.
- OAuth-Provider: GitHub OAuth zur Authentifizierung der Benutzer.
Eingesetzte Technologien
Ergebnisse & Lernerfahrungen
ExamByte stellt eine deutliche Verbesserung gegenüber dem vorherigen System dar, indem es eine benutzerfreundlichere Oberfläche, effizientere Korrekturprozesse und eine transparentere Ergebniskommunikation bietet. Die rollenbasierte Zugriffskontrolle und die Integration von GitHub OAuth gewährleisten Sicherheit und eine einfache Benutzerverwaltung. Das Projekt bot wertvolle Erfahrungen in der Konzeption und Implementierung eines vollumfänglichen Web-Systems unter Berücksichtigung von Skalierbarkeit, Sicherheit und Benutzerfreundlichkeit.