Skip to content

Phase 6 – Abschlussprojekte (laufend)

Projekt 1: Vollständiges CRUD mit Authentifizierung

  • Ziel: Erstellen einer robusten RESTful API mit sicherer Authentifizierung und Tests.
  • Technologien: Spring Boot, Spring Data JPA (PostgreSQL), Spring Security (JWT), JUnit 5, Testcontainers.
  • Features: CRUD für Entitäten (z. B. Aufgaben, Benutzer), Authentifizierung mit Rollen (ADMIN, USER), Dokumentation mit Swagger.
  • Optional: Hinzufügen einer Thymeleaf-Oberfläche zum Anzeigen/Verwalten von Aufgaben.
  • Beispiel: API zur Verwaltung von Projekten (Entitäten: Project, Task, User) mit geschützten Endpoints.

Projekt 2: Datei-Upload

  • Ziel: Hinzufügen einer Datei-Upload-Funktion zur API aus Projekt 1.
  • Technologien: Spring Boot (MultipartFile), Amazon S3 oder lokaler Speicher, Dateivalidierung.
  • Features: Hochladen von Bildern/Dokumenten, die mit Aufgaben verknüpft sind, Validierung von Typ/Größe.
  • Beispiel: Ermöglichen des Hochladens von Anhängen (z. B. PDF, PNG) für Aufgaben in der API.

Projekt 3: Cloud-Bereitstellung

  • Ziel: Bereitstellung der API auf einer Cloud-Plattform mit CI/CD.
  • Technologien: Railway, Heroku oder AWS (Elastic Beanstalk), GitHub Actions, Docker.
  • Features: Verpacken als JAR/Docker, Konfiguration von Umgebungsvariablen, automatisierte Bereitstellung.
  • Optional: Implementierung von Caching mit Redis zur Optimierung häufiger Abfragen.
  • Beispiel: Bereitstellung der Projekt-API auf Railway mit PostgreSQL und CI/CD.

Projekt 4: Microservices

  • Ziel: Aufteilung der API aus Projekt 1 in orchestrierte Microservices.
  • Technologien: Spring Cloud (Eureka, Gateway), Docker Compose, REST für Kommunikation.
  • Features: Microservices für Tasks und Users, mit Service Discovery.
  • Optional: Verwendung von RabbitMQ für asynchrone Kommunikation zwischen Microservices.
  • Beispiel: Trennung der Logik für Aufgaben und Benutzer in zwei Services, orchestriert mit Docker.

Projekt 5: Integration externer APIs

  • Ziel: Nutzung einer externen API zur Erweiterung der Funktionalität.
  • Technologien: Spring RestTemplate oder WebClient, API-Authentifizierung (z. B. OAuth2).
  • Features: Integration mit einer öffentlichen API (z. B. Senden von Benachrichtigungen per E-Mail mit SendGrid).
  • Optional: Hinzufügen einer GraphQL Query zum Abrufen von Aufgaben/Benutzern und Speichern von Metadaten in MongoDB.
  • Beispiel: Hinzufügen von E-Mail-Benachrichtigungen bei Abschluss von Aufgaben.

Best Practices für das Portfolio

  • Git: Commits pro Feature (z. B. feature/crud, feature/upload), klare Branches.
  • Dokumentation: README mit Beschreibung, Setup, Endpoints, Bereitstellung und Screenshots.
  • Veröffentlichung: Hosting auf GitHub mit einer Open-Source-Lizenz (z. B. MIT).

Ressourcen