Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🍸 Cocktail API - Zadanie Rekrutacyjne Solvro

To jest profesjonalne API do zarządzania przepisami na koktajle, zbudowane w oparciu o framework NestJS. Projekt został zaprojektowany z myślą o skalowalności, bezpieczeństwie danych oraz przejrzystej dokumentacji.


🚀 Kluczowe Funkcjonalności

  • Zarządzanie Składnikami i Koktajlami: Pełne operacje CRUD.
  • Relacja Many-to-Many: Zaawansowany model łączący składniki z drinkami wraz z ilościami (tabela pośrednia).
  • Paginacja, Filtrowanie i Sortowanie: Wydajne pobieranie danych z metadanymi, wyszukiwanie po nazwie oraz sortowanie alfabetyczne.
  • Dokumentacja Swagger: Interaktywny interfejs API dostępny pod adresem /api.
  • Globalny Reset: Specjalny endpoint do czyszczenia bazy danych (przydatny w środowisku dev).
  • Walidacja Danych: Pełna kontrola typów za pomocą DTO i class-validator.

🗺️ Projekt bazy danych (ERD)

Poniżej znajduje się schemat relacyjny bazy danych wykorzystanej w projekcie.

Schemat Bazy Danych ERD


🛠️ Stack Techniczny

  • Framework: NestJS
  • Baza Danych: PostgreSQL (działający w kontenerze Docker)
  • ORM: TypeORM
  • Dokumentacja: Swagger (OpenAPI 3.0)
  • Narzędzia: Docker, TypeScript, npm

🏃 Jak uruchomić projekt?

1. Klonowanie i Instalacja

Pobierz repozytorium na swój komputer i zainstaluj zależności:

git clone https://github.com/smigiska/solvro-cocktail-api.git
cd solvro-cocktail-api
npm install

2. Uruchomienie Bazy Danych (Docker)

Projekt korzysta z PostgreSQL. Upewnij się, że masz zainstalowany i włączony Docker, a następnie wykonaj:

docker-compose up -d

3. Uruchomienie Aplikacji

Gdy baza danych działa, uruchom serwer w trybie deweloperskim:

npm run start:dev

Serwer będzie dostępny pod adresem: http://localhost:3000


📖 Dokumentacja i Testowanie

  • Swagger UI: Wejdź na http://localhost:3000/api, aby przetestować wszystkie endpointy bezpośrednio w przeglądarce.
  • Pliki HTTP: W folderze głównym znajdziesz pliki .http (np. seed.http), które pozwalają na szybkie wypełnienie bazy testowymi danymi.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages