Entwicklung einer Backend Anwendung mit Java Spring

Beschreibung

  • Personal Development App "Blossom"
  • Studienprojekt
    • Modul Software-Engineering I
    • Umfang: 6 Credit-Points
    • Note: 1,0
  • Der vorliegende Microservice ermöglicht die Verwaltung von Challenges und Tracking der Nutzerfortschritte.
  • Microservice Architektur
  • Siehe auch Entwicklung einer Android-App für das Frontend
  • Demo-Video auf Anfrage verfügbar.

Anforderungen

  • Lauffähiger Microservice als Maven-Projekt mit dem SpringBoot Framework und transaktional ausgeführter Fachlogik in Service-Beans; interne Struktur und Abhängigkeiten gemäß hexagonaler Architektur mit Dependency Inversion
  • Persistenzschicht (Datenbank, OR-Mapping mit JPA, Konfiguration für Test-Stage mit Testdaten, OptimisticLocking mit Retry)
  • Service als REST-Endpunkt erreichbar, vorgelagertes API-Gateway mit Circuit Breaker und separater Konfiguration für Test-Stage
  • Aufruf einer REST-Schnittstelle als Feign Client mit Resilienz (Timeout oder Retry) und separater Konfiguration für Test-Stage
  • Spring Security: Erzeugung oder Validierung eines Authentifizierungstokens (JWT), sowie rollenbasierte Autorisierung
  • Messaging: transaktionaler Versand oder Empfang von Events zur Choreographie mit Spring Cloud Stream und RabbitMQ; separate Konfiguration für Test-Stage;
  • Nutzung der bereitgestellten Infrastruktur mit CD-Pipeline, Unit- und Integrationstests, Staging, Postman-Systemtests mit datenbezogenen Assertions, Healthchecks mit Actuator
  • 100% JUnit-Testabdeckung des Microservice gemäß JaCoCo Report
  • ohne nennenswerte Fehler
  • gut dokumentiert durch Javadoc
  • gut beobachtbar durch Logging und Tracing
  • autodidaktische Erweiterungen

Galerie

Tipp: Klicke auf ein Bild um es zu vergrößern

Verwendete Technologien

Git icon

Git
(Versionsverwaltungssystem)

Java icon

Java
(Programmiersprache)

Spring icon

Spring
(Java Backend Framework)

cloud-checkcogenvelopeeyefile-addphone-handsetmap-markerbriefcasecrossmenuquestion-circle