Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.63 KB

File metadata and controls

52 lines (36 loc) · 2.63 KB

Backend

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😉

Opis zadania

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.

Koktajl

Każdy koktajl zawiera minimum:

  • id
  • nazwę
  • kategorię
  • instrukcję przygotowania
  • składniki wraz z dokładnymi ilościami/proporcjami potrzebnymi do utworzenia

Składnik

Każdy składnik posiada minimum:

  • id
  • nazwę
  • opis
  • czy jest drinkiem alkoholowym
  • zdjęcie (np. URL do zdjęcia lub upload pliku)

Wymagania i ograniczenia

  • 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).

Nice to have

  • 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!