Ze względu na to, że w naszych projektach pracujemy na trzech głównych technologiach, akceptujemy zadania w NestJS (TypeScript), Django (Python) lub adonis (TypeScript). Nie przejmuj się, jeśli ich dobrze nie znasz – nauczysz się ich z nami w pierwszych tygodniach, chociaż zachęcamy do podjęcia rękawic i spróbowania swoich sił w jednym z nich już podczas rekrutacji😉
Twoim zadaniem jest przygotowanie REST API do zarządzania koktajlami i jego składnikami. Każdy koktajl posiada składniki z których się go robi. Z pomocą aplikacji mamy być w stanie utworzyć, edytować, wyświetlić i usunąć koktajle i składniki. W skrócie powinniśmy zaimplementować pełnego CRUDa koktajli i składników.
Każdy koktajl zawiera minimum:
- id
- nazwę
- kategorię
- instrukcję przygotowania
- składniki wraz z dokładnymi ilościami/proporcjami potrzebnymi do utworzenia
Każdy składnik posiada minimum:
- id
- nazwę
- opis
- czy jest drinkiem alkoholowym
- zdjęcie (np. URL do zdjęcia lub upload pliku)
- Stworzenie relacyjnej bazy danych (np. PostgreSQL) z odpowiednim wymodelowaniem relacji.
- Implementacja paginacji przy listowaniu koktajli i składników.
- Zadbaj o walidację danych wejściowych (zarówno przy tworzeniu jak i wywoływaniu endpointów z filtrami).
-
Autoryzacja i użytkownicy (Opcjonalne):
- Rejestracja i logowanie (np. przy użyciu JWT/session lub mechanizmów wbudowanych we framework).
- Różne role użytkowników: np. User oraz Admin.
- Uprawnienia: każdy może przeglądać koktajle, ale tylko zalogowany użytkownik może dodać nowy przepis lub zostawić ocenę z recenzją.
- Edycja/usuwanie koktajlu jest dozwolona tylko dla osoby, która go dodała, lub dla Administratora.
- Powiązanie koktajlu z jego autorem (użytkownikiem, który go dodał).
-
screen schematu/projektu bazy danych
-
staranne zastosowanie zasad REST
-
testy automatyczne (jednostkowe, integracyjne lub e2e)
-
wygenerowana dokumentacja API (np. Swagger / OpenAPI)
-
wsparcie dla złożonego filtrowania i sortowania (np. szukanie bezalkoholowych koktajli zawierających miętę, sortowanie po nazwie, filtrowanie koktajli stworzonych przez danego użytkownika).
W razie problemów zapraszamy do kontaktu i powodzenia!