C-React – CityShob’s Mobile Responder App - Flutter & Firebase
Integrating CityShob’s multiple products provides a comprehensive solution for managing and operating a city.
C-Insight is our C&C platform connecting to various subsystems and sensors in order to acquire, aggregate and analyze massive data streams. Then, using all the accumulated data, C-Insight presents a holistic and insightful view of the city – enabling decision makers to make data driven decisions.
A core part of the platform is the ability to handle and manage events. Examples of events may be: a car accident, a stolen vehicle detection, a 911 call or even a citizen complaint about bad odor from nearby his home. In any of these cases, the C-Insight operator has the ability to dispatch one of the City’s resources – an ambulance, a police unit or an urban sanitation unit to the specified event.
C-React is our mobile responder application. This mobile app enables the responder on field to communicate with the C-Insight platform. In any of the scenarios above – the responder will get a notification in C-React that a new event has been assign to him – containing all relevant data. The responder will then acknowledge the event and will navigate to the designated location of the event using C-React.
The C-React application, was originally written for a specific Android based tablet device and the network architecture required an on premise endpoint in the data center.
As customers started using the application – one of the most common feedback was a request to be able to use the application on all types of mobile devices but not only tablets and iPads.
To accommodate this customer request and our aspiration to remain on the cutting edge of technology made us define the new requirements for revolutionizing the application. The new requirements were:
- Single codebase for both Android & iOS devices
- Relatively short learning curve for the Dev
- Lean and fast development
- Ease of maintenance, configuration and monitoring for DevOps
We reviewed multiple options, in the end, we decided to rebuild the C-React application with Flutter and using Firebase as the cloud backend.
Flutter – Google’s UI toolkit that compiles natively to the device and therefore runs with native performance.
Firebase – Google’s mobile platform with built in capabilities that most mobile applications require.
The combination of Flutter and Firebase answered all our requirements!
The new architecture enabled complete separation between C-React ↔ Firebase implementation and C-Insight ↔ Firebase implementation – allowing us to be lean and fast.
- We have a single code base
- Within 3-4 weeks of learning – team was effective
- Dev team progressed very fast and ahead of schedule – credit to built-in out-of-the-box functionalities that Flutter + Firebase provide.
To summarize – selecting the technology and platform to meet all the business and organizational requirements may be challenging – yet we have definitely made the right choice.