Baza zawiera jedną kategorię produktów, cztery przykładowe produkty i trzech użytkowników:
- klient - login: client, hasło: client
- sprzedawca - login: seller, hasło: seller
- administrator - login: admin, hasło: admin
Metoda | Endpoint | Dane wejściowe | Dostęp | Działanie |
---|---|---|---|---|
POST | /api/order | JSON: -„client_name” - imię i nazwisko klienta [str] -„delivery_address” - adres [str] -„products_list” - lista obiektów {„id” - id produktu [int], „quantity” - ilość [int/float]} [JSON] |
grupa "Clients" | składanie zamówienia |
GET | /api/product/ | wszyscy | wyświetlanie wszystkich produktów | |
GET | /api/product/<product_id>/ | wszyscy | wyświetlenie szczegółów wskazanego produktu | |
POST | /api/product/ | JSON: -„name” - nazwa [str] -„description” - opis [str] -„price” - cena [float] -„category” - id kategorii [int] -„image” - zdjęcie produktu |
grupa "Sellers" | dodawanie produktu |
PUT, PATCH | /api/product/<product_id>/ | JSON: wybrane pola jak wyżej | grupa "Sellers" | edytowanie wskazanego produktu |
DELETE | /api/product/<product_id>/ | grupa "Sellers" | usuwanie wskazanego produktu | |
GET | /api/statistics | Query params: -„from_date” - data w formacie rrrr-mm-dd -„to_date” - data w formacie rrrr-mm-dd -„count” - liczba produktów [int] |
grupa "Sellers" | wyświetlenie statystyki najczęściej zamawianych produktów |
Panel administracyjny dostępny pod adresem: http://127.0.0.1:8080/admin/
.
Wymagany Docker.
1. Sklonuj repozytorium.
git clone https://github.com/bartekbednarz013/ecommerce-API.git
2. Przejdź do katalogu ecommerce-API.
cd ecommerce-API
3. Zbuduj kontener.
docker compose build
4. Uruchom kontener.
docker compose up
5. Otwórz http://127.0.0.1:8080/swagger/
w przeglądarce by wygodnie skorzystać z API.