We had to research the components of the service, find weak links and fix them for ZERO5 — the parking automation service that simplifies the process of finding the garage and the parking spot.
ZERO5 offers customers access to a colossal parking network that connects drivers and garage owners, provides them with info about currently available spots, makes it easy to manage their profiles, and updates all this data in real-time.
ZERO5 offers customers access to a colossal parking network that connects drivers and garage owners, provides them with info about currently available spots, makes it easy to manage their profiles, and updates all this data in real-time.
You can find more about them here: https://www.zero5.co/
The technologies used to develop their service have been hanging on the verge of being outdated for some time. They wanted us to refactor what’s already there and keep developing the app using modern technologies and architecture solutions.
We’ve replaced SAM AWS with Serverless to make their architecture more scalable, automated, and easier to maintain and develop new features. As for the deployment process, we’ve handled AWS CI/CD to automatically create stacks with resources in AWS Cloudformation from the serverless templates.
We’ve used AWS Chime to implement in-app video calls so that drives could reach the parking service in a tap and vice versa. And AWS Gateway Websockets API to make that real-time data transfer even faster.
Moreover, we’ve added a layer of Cognito custom authorization to increase the security through all of the connected apps.
The first thing we did after studying the project was moving it from Javascript to Typescript. It helped us dramatically reduce the number of errors, increase the overall quality of code (making it more structured, clean, and concise).
We’ve researched the possibilities of migrating their database from Dynamo to AWS RDS. It would help scale the data managing process, structurize it and cut costs, as we’ve found that relational DB is the best solution for this type of product.
Refactoring has helped us shorten the project start time from several minutes to less than 20 seconds and significantly reduce errors.
Moreover, the improvements we’ve made to the product’s architecture allowed us to: