Categorygithub.com/EORUG/avitotest
modulepackage
0.0.0-20230831202007-33e68ccfeb8a
Repository: https://github.com/eorug/avitotest.git
Documentation: pkg.go.dev

# README

гайд по установке

один из подов может не подняться при первом запуске, тогда следует потушить все командой docker-compose down и запустить compose up еще раз

docker-compose up --build

примеры запросов

  1. получение сегментов пользователя
curl --location 'localhost:8080/GetUserInfo' \
--header 'content-type: application/json' \
--data '{"id":1}'

2 Метод создания сегмента

curl --location 'localhost:8080/CreateSegment' \
--header 'content-type: application/json' \
--data '{"name":"name3",
"persent":1}'

3 Метод добавления и удаления сегментов у пользователя

curl --location 'localhost:8080/ChangeSegment' \
--header 'content-type: application/json' \
--data '{"toAdd":["name2"],
"toDelete":[],
"userId":1,
"TTL":"2023-08-31 22:00:00"}'

4 Метод удаления сегментов

curl --location 'localhost:8080/DeleteSegment' \
--header 'content-type: application/json' \
--data '{"name":"name3"}'

Структура проекта

модели находятся в папке models

контроллеры лежат в папке handler

взаимодействие с базой данных в папке db

Miro схема img.png

Вопросы по ходу разработки

1 Было не очень понятно как чистить по ttl так что я написал клинер в отдельной горутине

2 Так как для работы было необходимо где-то складировать пользователей была создана таблица users

3 Так как не было ясно как распределять % пользователей было использовано случайное распределение

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author