https://github.com/pashpiter/django_shop_data_bank
API service for shops located in city
https://github.com/pashpiter/django_shop_data_bank
django django-rest-framework docker postgresql pytest python
Last synced: 2 months ago
JSON representation
API service for shops located in city
- Host: GitHub
- URL: https://github.com/pashpiter/django_shop_data_bank
- Owner: pashpiter
- Created: 2023-11-14T18:24:44.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-23T12:47:47.000Z (over 2 years ago)
- Last Synced: 2025-05-07T20:18:15.623Z (about 1 year ago)
- Topics: django, django-rest-framework, docker, postgresql, pytest, python
- Language: Python
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# django_shop_data_bank
##### Стек: Python, Django, drf, pytest, postgresql, Docker
***
### Что умеет django_shop_data_bank
* Просмотр доступных городов
* Просмотр доступных улиц города
* Просмотр всех доступных в базе магазинов, с возможностью фильтрации по городу, улице или параметру "открыт в данный момент или закрыт"
* Добавление нового магазина
### Запуск проекта
Для запуска проекта необходимо:
* Клонировать репозиторий
```
git clone https://github.com/pashpiter/django_shop_data_bank.git
```
* Перейти в папку django_shop_data_bank
* Запустить проект используя docker-compose
```
sudo docker-compose up -d
```
### Примеры команд API
* Проверка работы приложения
```
GET http://localhost:8000/
```
```
curl "http://localhost:8000/"
```
* Получение списка городов
```
GET http://localhost:8000/city/
```
```
curl -X GET "http://localhost:8000/city/"
```
* Получение списка улиц города
```
GET http://localhost:8000/city/{city_id}/street/
```
```
curl "http://localhost:8000/city/{city_id}/street/"
```
* Получение списка магазинов
```
GET http://localhost:8000/shop/
```
```
curl "http://localhost:8000/shop/"
```
* Получение списка магазинов с доп параметрами (параметры могут отсутствовать или быть не все)
```
GET http://localhost:8000/shop/?street={str}&city={str}&open={int(0/1)}
```
```
curl "http://localhost:8000/shop/?street={str}&city={str}&open={int(0/1)}"
```
* Добавление магазина
```
POST http://localhost:8000/shop/
{
"name": "str", (Shop)
"city": "str", (Los Santos)
"street": "str", (Main St)
"house_number": int, (11)
"time_open": "str", (9:00)
"time_close": "str" (21:00)
}
```
```
curl -X POST \
--location 'http://localhost:8000/shop/' \
--header 'Content-Type: application/json' \
--data '{
"name": "Pole",
"city": "Los Santos",
"street": "Main St",
"house_number": 1,
"time_open": "21:00",
"time_close": "9:00"
}'
```
##### Тесты
* Для запуска тестов используйте команду:
```
sudo docker-compose exec app python manage.py test
```
#### Pavel Drovnin [@pashpiter](http://t.me/pashpiter)