-
Klonowanie repozytorium Otwórz terminal i sklonuj repozytorium projektu:
git clone https://github.com/samk1r0/mizzox-test-task
-
Przejdź do katalogu projektu
cd mizzox-test-task
-
Instalacja zależności Zainstaluj wszystkie wymagane pakiety:
composer install
-
Konfiguracja bazy danych Skopiuj plik
.env.example
do.env
:cp .env.example .env
-
Migracja bazy danych Wykonaj migracje:
php artisan migrate
-
Seedowanie bazy danych Aby wypełnić bazę danych przykładowymi danymi, uruchom polecenie:
php artisan db:seed
-
Uruchomienie serwera Uruchom serwer lokalnie:
php artisan serve
-
Testowanie API Po uruchomieniu serwera, API powinno być dostępne pod adresem
http://localhost:8000
.
- Aby uruchomić testy funkcjonalne, użyj polecenia:
php artisan test
- Plik
.env.example
zawiera przykładowe konfiguracje, które są podobne do tych używanych przy komunikacji z bazą danych.
- GET /books
- Zwraca listę książek z paginacją (20 książek na stronę).
- Możliwość wyszukiwania po nazwie książki, autorze oraz imieniu i nazwisku klienta.
- Opcjonalne parametry:
title
: nazwa książkiauthor
: autor książkiname
: imię klientasurname
: nazwisko klienta
- GET /books/{id}
- Zwraca szczegóły książki: nazwa, autor, rok wydania, wydawnictwo, status wypożyczenia oraz osoba wypożyczająca.
- Wymaga podania
id
książki w ścieżce URL.
- GET /clients
- Zwraca listę klientów.
- GET /clients/{id}
- Zwraca szczegóły klienta oraz listę wypożyczonych książek bez paginacji.
- Wymaga podania
id
klienta w ścieżce URL.
- POST /clients
- Dodaje nowego klienta.
- Wymaga podania
name
isurname
w treści żądania.
- DELETE /clients/{$id}
- Usuwa klienta.
- PUT /books/rent
- Zwraca status wypożyczenia książki.
- Wymaga podania
book_id
iclient_id
w treści żądania.