Backend Developer – API do systemu rezerwacji usług
Szukam Backend Developera do stworzenia REST API dla systemu rezerwacji usług (np. barber, fizjoterapeuta, korepetytor, serwis).
Stack: Java 21, Spring Boot, Spring Security, PostgreSQL, JPA/Hibernate, Redis, Kafka, Flyway, Docker, OpenAPI/Swagger, JUnit, Testcontainers.
Zakres:
- rejestracja i logowanie użytkowników,
- JWT (access/refresh token),
- role: klient, usługodawca, administrator,
- profile usługodawców,
- CRUD usług (nazwa, cena, czas trwania),
- definiowanie godzin dostępności,
- wyszukiwanie i filtrowanie usługodawców,
- wyświetlanie dostępnych terminów,
- tworzenie i anulowanie rezerwacji,
- historia rezerwacji użytkownika,
- statusy rezerwacji,
- powiadomienia o utworzeniu/anulowaniu rezerwacji (event przez Kafka),
- cache wybranych danych w Redis.
Ważne wymaganie: system musi zabezpieczać przed równoczesną rezerwacją tego samego terminu przez dwóch klientów.
Kod powinien posiadać sensowny podział na warstwy/moduły, walidację danych, globalną obsługę błędów, transakcje oraz migracje bazy danych.
Wymagane testy jednostkowe i integracyjne najważniejszych procesów, w tym test równoczesnej próby rezerwacji terminu.
Oczekiwany rezultat:
- kompletne REST API,
- repozytorium Git,
- Swagger/OpenAPI,
- Dockerfile + Docker Compose,
- migracje bazy,
- testy,
- README z instrukcją uruchomienia.
Aplikacja powinna być możliwa do uruchomienia lokalnie jednym poleceniem przez Docker Compose.