Сервис для верификации документов. Пользователь отправляет, а админ отсматривает и подтверждает или отвергает
.gitea/workflows | ||
assets | ||
cmd | ||
deployments | ||
docs | ||
internal | ||
pkg/validate_controllers | ||
script | ||
tests | ||
.gitignore | ||
.golangci.yml | ||
CHANGELOG.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
openapi.yaml | ||
README.md | ||
staging.env | ||
Taskfile.dist.yml | ||
test.env |
verification
Это сервис предоставляющий логику верификации пользователя. Он предоставляет следующие возможности:
Для клиента:
- Сделать запрос верификации с указанием статуса, который пользователь желает приобрести и сохранением файлов, необходимых для верификации
- Заменить один или несколько файлов, в случае ошибки
- Получить текущий статус верификации
Для админа:
- Каждая поданная верификация должна вызвать оповещение админов в канале в телеграмме
- Админ имеет возможность отклонить или подтвердить верификацию пользователя с добавлением комментария
- При подтверждении верификации, сервис оповещает customer сервис о том, что верификация пройдена этим пользователем и запрощенный статус одобрен
Сценарий работы
Для уточнения сценария введу понятие актора(действующего лица). в данной ситуации акторов будет 3: (К)лиент, (А)дмин, (С)ервис
- (К): заходит в профиль на shub.pena.digital или hub.pena.digital
- (К): получает текущий статус верификации - 404, потому что ещё не подавал заявку
- (К): подаёт заявку на получение статуса НКО или Юр Лица, отправляя набор файлов через форму
- (С): отправляет в телеграм сообщение админам, что получена новая заявка на верификацию
- (А): отсматривает файлы и отклоняет по какой-либо причине, комментируя её
- (К): исправляет неудволетворяющие админов файлы
- (С): отправляет в телеграм сообщение админам, что юзер исправил файлы в заявке
- (А): проверяет снова набор файлов и подтверждает верификацию
- (С): оповещает customer сервис о новом статусе этого пользователя. чисто, чтобы лишние запросы на сервис верификации не делать
- (К): видит в профиле статус что он верифицирован