Реализовать веб-сервис на базе django, предоставляющий REST-api

Принимать из POST-запроса .csv файлы для дальнейшей обработки;

Обрабатывать типовые deals.csv файлы, содержащие истории сделок;

Сохранять извлеченные из файла данные в БД проекта;

Возвращать обработанные данные в ответе на GET-запрос.

Требования Данные хранятся в реляционной БД, взаимодействие с ней осуществляется посредством django ORM.

Ранее загруженные версии файла deals.csv не должны влиять на результат обработки новых.

Эндпоинты соответствуют спецификации:

Выдача обработанных данных Метод: GET

В ответе содержится поле “response” со списком из 5 клиентов, потративших наибольшую сумму за весь период.

Каждый клиент описывается следующими полями: username - логин клиента; spent_money - сумма потраченных средств за весь период; gems - список из названий камней, которые купили как минимум двое из списка "5 клиентов, потративших наибольшую сумму за весь период", и данный клиент является одним из этих покупателей.

Загрузка файла для обработки Метод: POST

Аргументы: deals: файл, содержащий историю сделок.

Ответ: Status: OK - файл был обработан без ошибок; Status: Error, Desc: <Описание ошибки> - в процессе обработки файла произошла ошибка.

Приложение должно быть контейнирезировано при помощи docker;

Проект не использует глобальных зависимостей за исключением: python, docker, docker-compose;

Readme проекта описывает весь процесс установки, запуска и работы с сервисом;

Требования к фронтенду не предъявляются, интерфейс взаимодействия — RestFull API;

Проект запускается одной командой.


Ответы (0 шт):