Personal information collector
Personal information collector обрабатывает http запросы и в зависимости от указонного эндпоинта выполняет определённые функции и возвращает некий результат.
Структура бд создаётся с помощью миграций после запуска, присутствуют дебаг- и инфо- логи, настроенна автоматическая генерация сваггер документации, важные константы хранятся в конфгурационном файле go.env.
Краткое опиасние API:
POST /add добавляет пользователя с введёнными паспортыми данными в бд, а позже делает запрос на роад "/info" удалённого сервиса с передачей паспортных данных и при наличии результата сохраняет обогощённую информацию в бд.
PUT /change изменяет данные на указанные в записи пользователя с указанными паспортыми данными.
DELETE /delete удаляет запись пользователя с указанными паспортыми данными.
GET info/person возвращает информацию о пользователе с указанными паспортными данными.
GET info/people возвращает информацию о группе пользователей, данные которых частично или польностью совпадают с указанными в запросе данными, присутствует пагинация и сортировка по столбцам.
POST /start_task создаёт запись задачи со значением текущего времени в столбце "Started" для пользователя с указанными паспортными данными.
PUT /finish_task изменяет запись задачи со значением текущего времени в столбце "Finished", а так же добавляет в запись затраченное количество часов и минут, для пользователя с указанными паспортными данными.
GET info/person/tasks возвращает информацию о законченных задачах пользователя с указанными паспортными данными, присутствует пагинация сортировка по убыванию затраченного времени.
Подробнее об API в .yaml файле: https://github.com/UmerovAzizServerovich/personal_information/blob/master/docs/swagger.yaml
Ссылка на исходники в гитхабе: https://github.com/UmerovAzizServerovich/personal_information