Тестовое задание для HaClever
Реализовать REST API сервис по учёту груза и расчёту стоимости страхования в зависимости от типа груза, объявленной стоимости (ОС) и текущего тарифа.
Требования
- Тариф имеет поля: дата, с которой тариф актуален, тип груза, показатель страховки (процент).
- Тарифы могут добавляться в произвольный промежуток времени, например, раз в месяц или раз в день.
- Вывод списка тарифов.
- Груз имеет поля: дата поступления, тип груза, объявленная стоимость, стоимость страхования. Для эмуляции поступления в разные дни дата поступления при запросе может указываться произвольно или подставляться текущая.
- Добавление груза происходит с расчётом стоимости страхования по актуальному тарифу по формуле (объявленная стоимость * показатель страховки).
- Вывод списка грузов.
- Все случаи, приводящие к ошибкам (например, отсутствие тарифа), должны возвращаться в виде ответа 400 и описания ошибки.
- Все суммы высчитываются в рублях с учётом копеек.
Оформление
- Сервис должен разворачиваться внутри Docker.
- Сервис должен разрабатываться через GIT (Файл Readme с подробным описанием развертывания)
Технологии, которые должны быть использованы при реализации тестового задания:
- FastAPI - framework
- Tortoise ORM
- PostgreSQL, MySQL, SQLite – любой на выбор
- Docker
- Docker-compose – по желанию
docker-compose up