B2C web and mobile parking platform

Web and mobile app for iOS and Android, built with React, React Native, and Node.js

unitelworks released the Web app to the South African market in June 2018. So far, it has recorded over 41,000 sign-ups and now links approximately 60,000 cars With a stable version built in Node.js and React, the app is now easy to maintain and augment with new features. It’s also much easier for new developers to jump quickly into the project.

alt
alt


ADYMT

SCOPE AND HIGHLIGHTS

15 TEAM MEMBERS

2,000 UNIT TESTS

8 RELEASES
PER MONTH

UNITELWORKS

15-SHOPPING CENTERS

41kUSERS

60kCARS

THE PROCESS

Upon receiving the access to various parts of the system and the codebase, we met for a three-day Discovery Workshop to work on project scope, identify pain points, and challenge admyt’s business ideas.

To facilitate development and make sure every element of the app worked well, we wrote 2,000 unit tests and implemented Cypress.io to automate the testing, considerably reducing the amount of time spent on testing functionalities.

We also added Redis and BullJS on the backend. Thanks to this setup, we were able to simultaneously build new features and refactor legacy code in the existing parts of the app. During this stage, we were:

  • Developing the mobile version of the app with React Native
  • Integrating third-party platforms and connecting additional payment gateways (PayU) ​
  • Discussing documentation, communicating on Slack, and having daily internal stand-ups

THE CHALLENGES

Admyt is an innovative car parking system aiming to compete with regular paper ticket-based approaches.

They came to us with a two-year-old web app built in Node.js and React based on fifteen servers. The legacy code was written on naive logic, lacked proper system architecture, documentation, and had poorly established testing processes.

It required the refactoring of a great deal of legacy code and a needed a mobile version built from scratch..

Given the character of the app, handling hundreds of requests per minute, there was no room for errors—database rollbacks would be impossible in this case.

Key challenges in this project included:

  • Lack of proper documentation and poor app stability
  • Syncing data from thirty different servers with the main Web app and optimizing server performance
  • Handling real-time requests and processing them in a few timezones: Polish, US, and South African

alt
alt

THE OUTCOME

unitelworks released the Web app to the South African market in June 2018. So far, it has recorded over 41,000 sign-ups and now links approximately 60,000 cars With a stable version built in Node.js and React, the app is now easy to maintain and augment with new features. It’s also much easier for new developers to jump quickly into the project.

Optimizing requests between servers resulted in a reduction of synchronization time from 20-30 seconds to just 30 milliseconds, making the app easy to scale.The team, however, is far from slowing down and is averaging around eight releases per month.

Since we began our collaboration, admyt has expanded from shopping centers to retail, offices, and residential real estate. In Poland, they make parking a seamless experience for patrons of Pasaż Grunwaldzki in Wrocław, Galeria Młociny in Warsaw, and Galaxy in Szczecin.

The admyt parking platform is also deployed in fifteen premier malls across South Africa, a handful of hotels in Australia, with more launches to come in 2019. The mobile app for the Polish market, built in React.js, is already available for Android with iOS release planned for summer 2019.

The success of this project hinged on the following factors::

  • Refactoring a great deal of legacy code with a focus on features that were most important business-wise
  • Validating ideas and cooperating closely with the client, combined with impressive performance delivered by a highly functional team ​
  • Creating a well-written documentation and improving testing processes