Микросервис должен представлять из себя RestAPI сервер, который позволяет создавать запись уведомления в документе пользователя в MongoDB, отправлять email, а так же предоставлять листинг уведомлений из документа пользователя
Отправку email вынесено в background tasks, при большой нагрузке можно заменить на celery. В email отправляется key (registration/new_login). Все параметры для подключения вынесены в env.
$ docker-compose up -d --build
- user_id - строка на 24 символа (является ObjectID документа пользователя которому отправляется уведомление)
- target_id - строка на 24 символа (является ObjectID документа сущности, к которой относится уведомление) (Может отсутствовать)
- key - ключ уведомления enum
- registration (Только отправит пользователю Email)
- new_message (только создаст запись в документе пользователя)
- new_post (только создаст запись в документе пользователя)
- new_login (Создаст запись в документе пользователя и отправит email)
- data - произвольный объект из пар ключ/значение (Может отсутствовать)
- user_id [string] - идентификатор пользователя
- skip [int] - кол-во уведомлений, которые следует пропустить
- limit [int] - кол-во уведомлений которые следует вернуть
- user_id [string] - идентификатор пользователя
- notification_id [string] - Идентификатор уведомления