A large municipal government.
Parking Solutions Modernization
A municipal government developed an innovative parking solution in 2007 using license plate recognition to manage on-street and surface lot parking. In 2010, the system was extended to manage all municipal parking spaces, totaling approximately 15,000 on-street, surface-lot, parking-garage, and private contract parking spaces. The municipal government began marketing the parking system throughout North America after interest from other jurisdictions.
The usage of the parking system has evolved considerably over the last 15 years and there were several core challenges that the municipality was encountering:
The municipality was using full system replication to set up new client-specific environments. As a result, it was time-consuming to onboard new clients and to sustain these new client environments.
The system was tightly coupled with various internal and external services. The new clients may not have access to many of these services and therefore would require custom development to integrate their own services.
The existing system is 15+ years old with various developers enhancing it over the years. This has resulted in inconsistent development practices and a general lack of knowledge. As a result, there are several key areas of the codebase that are not well understood or no longer used.
The reliability of the solution was low, resulting in increased support costs.
The municipality wanted to move the solution to the cloud thus providing the scale to bring on new clients. However, they had no experience migrating a monolith/tightly coupled application to the cloud.
To successfully meet the primary objectives, Improving implemented a solution to replicate core functionality provided by the current system in a modern multi-tenant cloud architecture.
A detailed review of the current system and business processes helps to identify the core domain services that were implemented as microservices and RESTful API endpoints were built with Java Spring Boot and deployed on Kubernetes clusters. Queue-based adapters were also created for integration into other services and applications that utilize these new APIs.
Modern multi-tenant/multi-language web-based administration and operation tools were developed using React/Redux and Material UI with a focus on streamlining daily reviews of potential infractions.
The Business Benefits
The Improving design enabled current clients to migrate to the new system and provided an extensible platform to extend the functionality of the system to meet future client and market demands.
The secure multi-tenet design also enabled new clients to be added solely through system configuration rather than the costly undertaking of setting up new infrastructure and replication.
Furthermore, the Improving team uplifted the municipality support team on modern software design and development practices to provide a technical basis for continued product development.
Improving’s expertise in migrating software solutions to the cloud and building modern distributed applications was critical to successfully meeting the clients’ product vision.