← Zurück zu Projekte

Case Study

REST-API zur Verwaltung von Bewerbungen

Eine REST-API, die den Status eigener Bewerbungen durchgängig abbildet – von „beworben" bis „angenommen". Bewusst als Übungsprojekt während der Jobsuche gebaut, um API-Design, Containerisierung und automatisierte Tests praxisnah zu vertiefen.

Tech-Stack

Herausforderungen & Lösungen

1. Gültige Status-Übergänge erzwingen

Eine Bewerbung darf nicht von jedem Status in jeden anderen wechseln (z. B. nicht direkt von „beworben" zu „angenommen"). Die Übergangslogik sitzt als eigene Business-Regel im Domänen-Code statt verstreut im Controller, mit einem dedizierten PATCH-Endpunkt für Statuswechsel.

2. Sauberes REST-Design statt roher CRUD-Endpunkte

Endpunkte liefern konsistente HTTP-Statuscodes (200, 201, 204, 404, 422) und strukturierte Validierungsfehler, damit ein Client zuverlässig zwischen „ungültige Eingabe" und „nicht gefunden" unterscheiden kann.

3. Von Anfang an testgetrieben

15 Tests decken sowohl die Statuslogik auf Unit-Ebene als auch die HTTP-Endpunkte funktional ab – bewusst als Übung, Tests parallel zur Funktionalität zu schreiben statt nachträglich.

4. Reproduzierbare Umgebung mit Docker

Nginx, PHP-FPM und MySQL laufen als getrennte Container über Docker Compose. Ein „docker compose up -d --build" plus Migration reicht, um die Anwendung überall identisch zum Laufen zu bringen.

Meine Rolle

Alleiniger Entwickler: API-Design, Domänenlogik, Datenbank-Modellierung, Tests und Docker-Setup stammen vollständig von mir – als gezieltes Übungsprojekt für Backend- und DevOps-Praxis.

Ergebnis

Eine funktionierende, vollständig containerisierte REST-API mit sauberem Status-Lifecycle, konsistenten HTTP-Antworten und 15 bestehenden Tests – ein kompakter Nachweis für API-Design, Testdisziplin und Docker-Kenntnisse.