The goal was to build an event management system which withstood up to 300 000 users, in a period of 5 days, with up to 80 000 users connected at once.
We designed and built the whole experience. Starting with the e-shop where people were buying tickets one year before the event, we also developed mobile applications for Android and iOS which allowed people to see all the information about the event, about their ticket and QR code, as well as up to 115 additional items they could redeem on many places across the country. The whole system had to work for attendees even without any mobile device as well as when using a printed ticket with QR code only.
Our task was to also create mobile application for Android, as scanner for organisers. This mobile app allowed the organisers to verify if the attendee is allowed to enter the venue and if he/she should receive a purchased item.
We designed and built not only the user experience attractive for the unique bike riders target group, we designed the underlying architecture and database as well.
responsive websitee-shopmobile appandroidiosbackendAPImobile developmentweb developmenttechnical challenge
The solution consists of development of robust web application written in Ruby on Rails which represents the e-shop, its administration, API for mobile apps and external services (including worldwide payment gateway service). The system and mobile applications are translated into 6 languages and deployed on a cloud, utilising many advanced features like background jobs processing, database denormalization for performance reasons, advanced caching and much more.
The solution consists of many components: we did e-shop web app development with administration, API and mobile apps development for iOS and Android, as well as scanner application for Android devices.
Many components of the system were still usable even without the internet connection.
The system had to withstand huge traffic during a critical time period of 5 days of the event, eventual failure would result in few hundred thousands people not being able to enter the area or not being able to get merchandise they bought.
The system had to be able to keep critical functionality in the event of complete loss of internet connectivity. It had to be able to bring itself into the fully online mode when the internet connection was restored.
Data about attendee transactions and actions were very important for our client, the system was providing advanced analytical features on those data. The primary data were stored in a redundant way in the system so they could be recomputed from a secondary data source if the primary data source would be lost.
We start with the formulation of User Stories which express what the user will be able to do and which actions he will be able to perform in the application. Then we continue with the creation of User Interaction Diagram where we assign individual User Stories to app screens or system components.
The final result of user experience analysis is Low Fidelity Prototype which clearly denotes from which user interface components every screen consists. We do this process for every single component of the system - user experience analysis is different for mobile application and for e-shop.
The design is a soul of an app and with a clear idea about user experience of the application, we can focus on this next task. Being based on a thoughtful UX, the design defines if the application is accepted or rejected by its target group.
When we talk about the design, it should be always pleasant, clear and understandable. And it has to be curated for the target group of the application.
Our client created and provided us with the design for e-shop and applications.
Clear and robust system architecture definition divides inexperienced developers from the experienced ones. Speaking about efficient database design or fast RESTful API - architecture should be modular and integrity of the whole system should be ensured.
That is why we at Juicymo pay great attention to the architecture of apps we build and to the systems we design.
When all pieces are prepared on a table, the final step can start. The programming will convert the idea into the actual product. Harley-Davidson 115th Anniversary Event Management System was developed by a team of skilled developers.
Backend is developed in Ruby on Rails utilising the MVC architectural pattern. Native mobile apps for iOS and Android are developed using MVVM in Swift and Java.
During the time of the event, the main cloud application was running on 20 computing nodes and three data storing solutions (Postgres, Redis and Memcached). The main database was backed by a full real-time replica which had been located on different server in a different datacenter and geographical location.
Due to performance reasons, database denormalization was implemented for purposes of caching and fast access to critical data which were intended to be changed frequently during the system operation.
Our team was present onsite and performed oversight and support for the system. We made sure that the scanner mobile apps ran smoothly on all 100 Android devices which were used. We were overseeing the performance of the cloud web application during the entire duration of the event too.
In order to provide the required level of onsite support, we have deployed a fleet of analytical and Big Data solutions including ELK Stack (Elastic Search, Logstash and Kibana), Influx and Grafana, Chronograf, Telegraf and Capacitor, Coralogix and New Relic insights as well as Fabric and Google Analytics.
The main monitoring solution, which was the key necessity for us to be able to provide the onsite realtime support, was completely duplicated in two technological stacks (ELK stack and Influx + Grafana) for purposes of failover recovery.
In addition to be able to monitor the health of the whole system, thanks to this analytical solution, we have been able to provide a very important information to our client, Harley-Davidson, regarding the information about attendees and their behavior during the event.
We have implemented custom dashboards and even custom statistics for particular KPI (Key Performance Indicators) which were requested by our client.
The result is a whole platform. We developed e-shop web application with administration, API, biker mobile applications for iOS and Android and scanner application for Android devices.
Do you want to make a great project together? We will be happy to hear more.I want a similar app! Anemone