Categorygithub.com/LightAir/bas
module
0.0.0-20221018080540-a67f07ddd274
Repository: https://github.com/lightair/bas.git
Documentation: pkg.go.dev

# README

GitHub CI Go Report Card

Сервис по показу баннерной рекламы

Сервис "Ротация баннеров" предназначен для выбора наиболее эффективных (кликабельных) баннеров, в условиях меняющихся предпочтений пользователей и набора баннеров.

Предположим, что на сайте есть место для показа баннеров (слот) и есть набор баннеров, которые конкурируют за право показа в этом месте. Набор баннеров постоянно обновляется - добавляются новые, старые удаляются. Так же у пользователя меняются предпочтения - если им показывать все время один и тот же баннер, пользователь перестает его замечать.

Задача сервиса - осуществлять "ротацию" баннеров, показывая те, которые наиболее вероятно приведут к переходу. Для этого используется алгоритм "Многорукий бандит": https://habr.com/ru/company/surfingbird/blog/168611/

Кроме того пользователи неоднородны - их можно условно разделить на социально-демографические группы. В разных группах пользователей могут быть разные предпочтения.

  • Реализован алгоритм "многорукого бандита" - 2 балла.
  • Реализовано разделение на "слоты" и "соц.дем. группы" - 2 балла.
  • Реализовано API сервиса - 2 балла.
  • Реализована отправка статистики в очередь - 1 балл.
  • Написаны юнит-тесты - 1 балл.
  • Написаны интеграционные тесты - 2 балла.
  • Тесты адекватны и полностью покрывают функциональность - 1 балл.
  • Проект возможно собрать через make build, запустить через make run и протестировать через make test - 1 балл.
  • Понятность и чистота кода - до 3 баллов.

# Packages

No description provided by the author
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag.