Аннотация 2
Перечень рисунков, таблиц, листингов 4
Введение 6
1 Шаблоны и домены 7
1.1 Домены 7
1.2 Шаблоны 7
2 Отписки и сообщения 9
2.1 Типы сообщений 9
2.2 Сообщения 9
2.3 Жизненный цикл сообщения 11
3 Категориальный фильтр и категории 13
3.1 Категории 13
3.2 Изменения в базе данных 13
3.3 Работа категориального фильтра 14
4 Технологии 19
4.1 Kubernetes 21
4.2 Helm 22
5 Модульные тесты 23
6 Интеграционные тесты 26
6.1 Основные подходы интеграционного тестирования 26
6.2 Язык Gherkin 27
6.3 Новый сценарий и его шаги 27
6.4 Шаги, расширенные для нескольких сообщений 29
7 Библиотека service-core 31
8 Структура сервиса отписок 33
Заключение 35
Литература 36
В платежной системе «Золотая корона» существует сервис рассылки сообщений. Многие из этих сообщений могут быть неинтересны для большинства пользователей, поэтому было необходимо расширить функционал существовавшего сервиса рассылки сообщений и добавить новый сервис для отписок таким образом, чтоб сообщения, рассылаемые пользователям фильтровались на основе их желаний.
В рамках работы прежде всего был произведен анализ существовавшей в сервисе модели, в частности классов шаблонов, сообщения и пользователя.
Затем было необходимо изменить процесс регистрации сообщения, таким образом, чтоб он включал работу с новыми категориями шаблонов и добавить необходимые для этого классы.
Несмотря на то, что выбор технологий был продиктован использовавшимися в сервисе или в компании, нужно было произвести анализ этих технологий и исследовать их возможности.
Для нового функционала в сервисе рассылки сообщений необходимо было разработать модульные и интеграционные тесты.
Для реализации функционала отписок было необходимо создать и настроить новый сервис отписок.
Для нового сервиса нужно было настроить версионирование, а также сборку основных метрик, с использованием существующей в компании библиотеки service-core.
В результате работы была разработана, покрыта тестами и успешно развернута подсистема для категориальной фильтрации сообщений в платежной системе «Золотая корона». Был проведен анализ существовавших сервисов компании и внесены необходимые изменения. Были достигнуты все поставленные цели и задачи. Подсистема успешно осуществляет фильтрацию регистрируемых сообщений и отписку пользователя от нежелательных для него категорий. В дальнейшем возможно будет происходить расширение сервиса отписок.