Product Development for Eduspire Solutions
We established a dedicated product development team for Eduspire Solutions to build a new version of their existing product FlexTime Manager (FTM).
Eduspire Solutions, a US-based company, offers digital solutions that simplify and improve student activity scheduling and classroom monitoring.
One of their main products, FlexTime Manager, was developed some years ago as a monolith app with a single instance database server. Over time, its complexity and features have increased substantially, but the fundamental architecture and underlying core code have not changed. The app was not developed with cloud architecture or scaling in mind. This did not align with their ambitious business plan for future user growth.
As a result they needed a reliable partner who could design, deliver and maintain a new microservice architecture using a cloud-native approach in order to achieve high-quantity scaling with a manageable cost structure.
There were two main challenges. One was the complexity: there was a lot of functionality and complicated business logic and this resulted in continual maintenance and bug-fixing. Stability and performance, on the other hand, became a challenge owing to increased usage. Initially, there were only a few hundred users using the platform at once, but it now has to support between tens and hundreds of thousands of simultaneous sessions and there are future plans for scaling into the millions range.
We initiated a discovery process by auditing the existing app and then produced a report concerning various issues and security threats according to their severity and included recommendations for improvement. We designed a brand new intuitive and responsive UI for the various roles using the system and for the back-office system. The UI was then implemented with Angular and Bootstrap. In addition we used Ionic to build and deploy mobile apps for iOS and Android.
We designed modern new microservice architecture, decomposing the complex business logic to speed up and ease development and maintenance in the long term. The back-end is based on a PHP and Laminas framework, working with a combination of Symfony components.
Due to the nature of the product, the load is unpredictable and there might be hundreds of thousands of users accessing it simultaneously at any given time. We have used Docker and Kubernetes in combination with AWS autoscaling capabilities to orchestrate and automatically provision instances based on usage to achieve the scalability goals whilst optimising costs. The entire process of code integration, testing and provisioning is automated.
Based on our technical and design approach, we took their product to the next level, supporting 10x-100x growth using a modern cloud technology stack formulated and optimised for responsiveness to a high volume of simultaneous usage.