Сервис "Ротация баннеров" предназначен для выбора наиболее эффективных (кликабельных) баннеров, в условиях меняющихся предпочтений пользователей и набора баннеров.
Ссылка на ТЗ - https://github.com/OtusGolang/final_project/blob/master/02-banners-rotation.md
- make build - основная сборка проекта
- make dev-build - сборка проекта для разработке
- make run - запуск проекта
- make test - запуск всех тестов в проекте
- make test-uint - запуск unit-тестов
- make test-integration - запуск интеграционных тестов
- make lint - запуск линтера
- make docker-build - сборка образов docker-compose
- make docker-up - запуск docker-compose
- make docker-down - остановка docker-compose
Все запросы и ответы (кроме главной страницы) выполняются в JSON формате
- "/" - главная страница сервиса
- "/slot/add-banner" - добавление баннера в слот
- "/slot/remove-banner" - удаление баннера из слота
- "/banner/select" - выбор баннера для показа
- "/banner/hit" - переход по баннеру
- "/stats/send" - отправка статистики по показам и переходам баннеров в очередь
POST запрос: {"slot_id": int, "banner_id": int}
Ответ: {"response":"ok"} | {"error":<описание ошибки>}
POST запрос: {"slot_id": int, "banner_id": int}
Ответ: {"response":"ok"} | {"error":<описание ошибки>}
POST запрос: {"slot_id": int, "group_id": int}
Ответ: {"response":"ok"} | {"error":<описание ошибки>}
POST запрос: {"banner_id": int, "slot_id": int, "group_id": int}
Ответ: {"response":"ok"} | {"error":<описание ошибки>}
GET запрос
Ответ: {"response":"ok"} | {"error":<описание ошибки>}