WorkTimeSystem API

System ewidencji czasu pracy pracowników.

REST API stworzone z myślą o rejestracji oraz podsumowywaniu czasu pracy pracowników. Umożliwia m.in. tworzenie kont pracowników, zapisywanie godzin pracy, a także generowanie podsumowań dziennych i miesięcznych wraz z wyliczeniem wynagrodzenia, w tym nadgodzin.

Wszystkie dane przesyłane są w formacie JSON. API wyposażono w pełną walidację (kolejność dat, ograniczenie długości pracy) oraz obsługę błędów HTTP z komunikatami zwracanymi w czytelnej formie.

Wykorzystane technologie:
Symfony 7.2.6, PHP 8.2, MariaDB 11.7, Docker, Composer

Endpointy:

  • Utworzenie pracownika: POST /api/employee

  • Rejestracja czasu pracy: POST /api/work-time

  • Podsumowanie dnia: POST /api/summary/day

  • Podsumowanie miesiąca: POST /api/summary/month

Dodatkowo:
✔ Gotowa konfiguracja Docker Compose z kontenerem bazy danych oraz Adminerem
✔ Testy jednostkowe kluczowej logiki aplikacji (m.in. obliczenia wynagrodzeń)
✔ System tłumaczeń komunikatów błędów
✔ Oddzielenie warstw aplikacji, zgodnie z dobrymi praktykami Symfony

Celem projektu było stworzenie backendowego systemu do ewidencji czasu pracy, umożliwiającego łatwą integrację z innymi aplikacjami (np. frontendem).

Kod źródłowy dostępny na GitHubie.

Data ostatniego commita: 05/2025.

Powrót

Scroll to Top