Keep Them All – a modular platform based on behavioral targeting designed to attract users to events

Project summary

The main task of the system is to notify users about upcoming cultural events (concerts, theatrical performances, etc.) taking into account their interests, chosen location and preferred method of communication. This application serves as an advertising platform for various events, which organizers are interested in attracting the target audience.

The base of contact data for notification is created based on visitor surveys held on the days of events. Visitors who want to keep updated later can leave their data to the volunteers (the city in which they would like to know about the events, events of interest, topics and musical genres, as well as a convenient way of communication for notification: SMS, e-mail, Viber, Telegram).

After collecting information, the volunteer enters the user into the general database. After that, depending on the selected criteria, the contact is included into a specific group. It provides additional flexibility when sending notifications. Visitors interested in a particular event are selected based on the tags and event location. For example, the contact person mentioned in the questionnaire that he or she lives in Minsk city, listens to rock music and is a frequent theatre-goer. When an event that matches his or her interests and location is registered in the system, the contact person is included into a group that the organizer can choose as a target one. So, the system makes it possible to notify only interested users about the event.

The system has a user-friendly web interface and functionality for several roles: volunteers, organizers and the administrator:

  • The role of volunteers is to directly collect information about new visitors and enter it in the system base.
  • The organizer is engaged in creating new events, setting up notification mailings. Notification setting up allows choosing preferred communication methods, creating a message template, etc. The system provides the possibility to dynamically track detailed mailout information: progress, number of unsuccessful mailings, addresses of unsuccessful mailings, reasons for failures when sending notifications. In addition, the organizer can manage financial resources required for sending notifications (balance replenishment, funds distribution).
  • The administrator has full access to the system, can add accounts for new event organizers.

The possibility to notify users via e-mail and SMS was implemented. For the purposes of horizontal scaling and expandability of communication methods, each notification channel is implemented as a separate, independent module. So, over time, additional modules for notification can be developed, while in the process of their creation and testing other modules will continue to work stably. All modules interact using RabbitMQ queues. They can run on the same or on different servers (which may be needed to distribute the load in case of a large number of users).

The potential of the service is not limited by anything: you can create any events, inform users in any existing way. There is a promising opportunity to integrate the largest ticket sales platforms or build your own payment system.

Technical description of the project

The Keep Them All project has a frontend part, which is implemented on the popular ReactJs framework, and a backend part built on the basis of Java REST API services (Spring MVC). The project also uses JavaMail API, RabbitMQ, Jenkins, Docker. Java developers used JUnit + Mockito to write tests.

Project technologies

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.

Screenshots

Project features

  • Full compliance with Scrum processes.
  • Use of Git/Gerrit bundle.
  • Agile work, daily meetings, weekly demos.
  • Short development time.
  • Dynamically changing requirements.
  • Trainees often took part in the project. They honed their knowledge and skills.
  • A large number of developers, QA specialists who participated in the project creation.

Project results

  • The system is deployed on production servers and is used for organizing events. There was a positive impact on the number of participants and their involvement).
  • A system for the selection of personalized events for each user was created.
  • An algorithm that allows selecting the optimal way to notify the user and getting the maximum response was implemented.
  • A module designed to inform users by email, SMS and VK was implemented.

Company’s achievements during the project

  • Quick dive into the subject area and technical details of the project in a very short time.
  • A wide stack of frameworks and technologies was applied.
  • Successful work under the conditions of dynamically changing requirements.

Clients about cooperation with JazzTeam







    Contact Us

    Name:

    Email: *

    Message: *

    I agree to Privacy Policy

    What happens next?

    1 Leave your project request. We will contact you and schedule a call.
    2 Signing of the NDA to ensure the project info confidentiality.
    3
    Negotiation of your request and the required services.
    4 Team forming, coordination of workstages.
    5 Contract signing and project start.