Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Projekt- und Aufgabenmanagementsystem

Fallstudie im Kurs DLBITOWAWBI01 – Programmierung von Web-Anwendungen – webbasierte betriebliche Informationssysteme (IU Internationale Hochschule). Aufgabe war die Entwicklung eines webbasierten Prototyps für ein fiktives Szenario, um Konzepte wie REST-APIs, Authentifizierung/ Autorisierung und relationale Datenmodellierung praktisch anzuwenden.

Webbasierte Anwendung zur Verwaltung von Projekten, Aufgaben und Mitarbeitenden für ein IT-Dienstleistungsunternehmen, mit rollenbasierter Authentifizierung/Autorisierung (ADMIN, PROJEKTLEITUNG, MITARBEITER) und serverseitig durchgesetzter Sichtbarkeitsregel.

Technologiestack

  • Backend: Java 21, Spring Boot 4, Spring MVC (REST), Spring Data JPA, Spring Security, JWT (JJWT)
  • Frontend: React (Vite), React Router
  • Datenbank: dateibasiertes H2 für lokale Entwicklung (übersteht Neustarts), PostgreSQL für Produktivbetrieb vorgesehen
  • Tests: JUnit 5, Mockito, Spring MockMvc, AssertJ (23 automatisierte Tests)

Voraussetzungen

  • Java 21 (JDK)
  • Node.js + npm

Backend starten

cd backend
./mvnw spring-boot:run

Läuft auf http://localhost:8080. Beim ersten Start wird automatisch ein Admin-Account angelegt (DataInitializer), Zugangsdaten über Umgebungsvariablen konfigurierbar:

export ADMIN_EMAIL=admin@taskmanager.local   # Default
export ADMIN_PASSWORD=ChangeMe123!            # Default – vor Produktivbetrieb unbedingt ändern
export JWT_SECRET=<eigenes-secret>            # Default nur für lokale Entwicklung geeignet

Backend-Tests ausführen:

./mvnw test

Frontend starten

cd frontend
npm install
npm run dev

Läuft auf http://localhost:5173 und erwartet das Backend unter http://localhost:8080.

Dokumentation

Die schriftliche Ausarbeitung (Fallstudie) inkl. Architektur, Datenbankstruktur, UML-Klassendiagramm, Teststrategie und KI-Einsatz ist Teil der Prüfungsleistung und wird separat über Turnitin eingereicht; sie ist nicht Bestandteil dieses Code-Repositorys.

Bekannte Einschränkungen

Dieser Prototyp ist nicht ohne Weiteres produktivreif:

  • Mandantenfähigkeit ist nur im Datenmodell vorbereitet, aber nicht vollständig umgesetzt
  • JWT-Secret und Admin-Bootstrap-Passwort sind Default-Werte (siehe oben) und müssen für den produktiven Einsatz über echte Secrets ersetzt werden
  • Kein Token-Refresh-Mechanismus, kein Rate-Limiting gegen wiederholte Login-Versuche
  • Kein versioniertes Datenbank-Migrationswerkzeug (z. B. Flyway); das Schema wird zur Entwicklungszeit automatisch aus den Entity-Klassen generiert (ddl-auto=update)

About

Fallstudie DLBITOWAWBI01 – Projekt- und Aufgabenmanagementsystem

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages