Веб-сервис на базе django, предоставляющий REST-api и способный: принимать из POST-запроса .csv файлы для дальнейшей обработки, обрабатывать типовые deals.csv файлы, содержащие истории сделок, сохранять извлеченные из файла данные в БД проекта, возвращать обработанные данные в ответе на GET-запрос
Веб-сервис на базе django, предоставляющий REST-api и способный:
принимать из POST-запроса .csv файлы для дальнейшей обработки
обрабатывать типовые deals.csv файлы, содержащие истории сделок
сохранять извлеченные из файла данные в БД проекта
возвращать обработанные данные в ответе на GET-запрос
[email protected]:ApriCotBrain/deal-histories.git
в домашней директории проекта создать файл .env по примеру .env_sample
перейти в директорию infra
cd infra
docker-compose up -d --build
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input
В проекте доступны следующие эндпоинты:
Метод: POST
Типовой файл для загрузки лежит в папке data
Аргументы:
deals: файл, содержащий историю сделок.
Ответ:
Status: OK - файл был обработан без ошибок
Status: Error - в процессе обработки файла произошла ошибка
http://localhost/api/v1/upload-csv-file/
Метод: GET
В ответе содержится поле “response” со списком из 5 клиентов, потративших наибольшую сумму за весь период.
Каждый клиент описывается следующими полями:
username - логин клиента
spent_money - сумма потраченных средств за весь период
gems - список из названий камней, которые купили как минимум двое из списка "5 клиентов, потративших наибольшую сумму за весь период", и данный клиент является одним из этих покупателей
http://localhost/api/v1/top-customers/<int:id>/