En

JazzTeam Software Development Company

Agile Java Development

Keep Them All – модульная платформа для привлечения пользователей на мероприятия, основанная на поведенческом таргетинге

Описание проекта: основная задача системы — оповещение пользователей о предстоящих культурных событиях (концертах, театральных постановках и т.д.) с учетом их интересов, выбранной локации и предпочитаемого способа связи. Данное приложение служит рекламной площадкой для различных мероприятий, организаторы которых заинтересованных в привлечении целевой аудитории.

База контактов для оповещения создаётся с помощью анкетирования посетителей в дни проведения мероприятий. Заинтересованные в дальнейшем информировании посетители могут оставить волонтёрам свои данные (город, о событиях в котором они хотели бы узнавать, интересующие мероприятия, тематики и музыкальные жанры, а также удобный способ связи для оповещения: SMS, e-mail, viber, telegram).

После сбора информации волонтёр вносит пользователя в общую базу данных. Далее в зависимости от выбранных критериев контакт относится к определенной группе, что обеспечивает дополнительную гибкость при рассылке оповещений. Выборка заинтересованных в том или ином мероприятии посетителей осуществляется при совпадении тегов и места проведения мероприятия, Например, контакт отметил в анкете, что он проживает в городе Минск, слушает рок-музыку и посещает театр. При регистрации в системе мероприятия, совпадающего с его интересами и локацией, он относится к группе, которую организатор может выбрать как целевую. Таким образом, система даёт возможность оповестить о мероприятии только заинтересованных пользователей.

Система имеет удобный веб-интерфейс и функционал для нескольких ролей: волонтёров, организаторов и администратора:

Реализована возможность оповещения пользователей с помощью e-mail и SMS. Для возможности горизонтального масштабирования и расширяемости способов связи, каждый канал оповещения реализован в виде отдельного, независимого от других модуля. Таким образом, со временем могут разрабатываться дополнительные модули для оповещения, при этом в процессе их создания и тестирования другие модули будут как и прежде стабильно работать. Все модули взаимодействуют при помощи очередей RabbitMQ. Каждый из них может выполняться на одном или на разных серверах (что может быть необходимо для распределения нагрузки при большом количестве пользователей).

Потенциал сервиса ничем не ограничен: можно создавать любые мероприятия, информировать пользователей любым существующим способом. Есть перспективная возможность интегрировать крупнейшие платформы по продаже билетов либо же встроить собственную платежную систему.

Техническое описание проекта

Проект Keep Them All имеет в своём составе Frontend часть, которая реализована на популярном фреймворке ReactJs, и Backend часть, построенную на основании Java REST API сервисов (Spring MVC), на проекте также используется JavaMail API, RabbitMQ, Jenkins, Docker. Тесты Java-разработчиками были написаны с помощью JUnit + Mockito.

Технологии проекта:

Stack: Java, JavaMail API, Spring, Apache Maven, Apache Tomcat.
Frontend: JavaScript, ReactJS.
Infrastructure: Jenkins, Docker, Git/Gerrit, IntelliJ IDEA, Jira.
Message broker: RabbitMQ.
Test Automation libraries: JUnit + Mockito.
DB: MySQL.

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте: