Подробное описание API представлено в файле openapi.yaml
Вкратце, АPI позволяет:
- записывать в базу курьеров (POST:
/couriers) - записывать в базу заказы (POST:
/orders) - назначать заказы курьерам (POST:
/orders/assign) - менять информацию про курьеров (PATCH:
/couriers/$courier_id) - отмечать заказы выполненными (POST:
/orders/complete) - считать заработок и рейтинг курьеров (GET:
/couriers/$courier_id)
- Python версии 3.6 и выше
flasksqlalchemypytestiso8601
Также использован пакет requests в части тестирования
Более подробный список в requirements.txt
- Склонировать репозиторий
git clone https://github.com/maftukh/test_delivery_api.git - Перейти в склонированную директорию
cd test_delivery_api - Запустить скрипт
bash install.shдля настройки окружения (при наличии ошибок доступа:chmod 755 install.sh) - Запустить скрипт
bash start.shдля запуска приложения на0.0.0.0:8080(при наличии ошибок доступа:chmod 755 start.sh)
После этого API будет локально крутиться на 0.0.0.0:8080
Помимо этого, он уже задеплоен на виртуальной машине 178.154.201.135:8080
Выполнить команду pytest (в корне проекта)
Тесты присутствуют только для части эндпойнтов