Queue may sometime be a fun thing
Our team has developed a reliable customer queuing solution for a client with a prediction of customer waiting time.
Our team has developed a reliable customer queuing solution for a client with a prediction of customer waiting time.
We are not able to disclose client details due to the signed agreement. What we would like to do is to describe an interesting customer serving solution that our team implemented.
The client had an existing customer queuing solution that he wanted to replace and to modernize with some additional features and to provide a better user experience.
The solution consisted of creating a ticket issuing system and integration with printing and notification devices. Also, states of counters and currently served customers should be available through several displays available on the spot.
During architecture setup and planning we agreed upon implementing a CQRS (Command Query Responsibility Segregation) Event Sourcing System. For every action, the application state is changed and one or more events are produced. Events will update the query side used by the client-side of the application. Also since there was integration with other software systems and hardware devices we needed to enforce synchronization and heartbeat information propagation.
To match up the challenges and to fulfill our rule of creating a faultless solution, from the beginning we applied principles of TDD (Test Driven Development) and Pair Programming with constant Code Reviews and strict following of Definition of Ready and Definition of Done for every user story.
Customer queuing service was deployed at several locations at first and now tends to spread to more locations. Also, there is an interest in upgrading the solution with additional features.
The requirements we had to meet in this project were a novelty for our team, so we faced a few challenges.
One of the challenges was implementing a full-blown production-ready CQRS Event Sourcing System.
Also integration with multiple devices, ensuring stable communication and synchronization with the system was an important thing that we needed to manage.
Administration, Client Management
N / A
~25 members
Cooperation: 2019 – ongoing