Decentralized Lending Platform for Students
Bookcrust is a school management solution for K-12 schools, founded in 2012. The application works as a bridge between parents, teachers, students and the school administration. It has more than 12 modules such as admission management, online homework, student assessment, grades management, library management, tuition management, payroll management, timetable management, health, Attendance management, fleet management, Asset management, Alumni management, School blogs, Reporting, Human resource, etc. More than 14000+ schools in India use the application.
Challenge & Solution
Bookcrust was a monolith developed on php with no framework supporting it. As the number of customers had grown, the application was still running on an Apache2 server with php4 and mysql supporting it. Building new features was extremely difficult and the team was finding it extremely difficult to keep up with upcoming tech vulnaribilities. As the demand for mobile applications kept increasing, the team had to come up with a strategy to build mobile application on top of the system. They were low on resources and wanted to migrate to a micro-service based architecture without having to distract their current team as they were all focused on just making sure that the application was live.
They hired us to get this work done.
How did we help them solve it?
We analyzed the problem by looking at the current set of available features and broke it down into 4 phases, with each phase having it’s own OKR.
Phase – 1 : Prioritizing the features and developing the New UI
Objective – Develop high fidelity mocks of the new UI
Key Results – A prioritized list of all the features that needs to be developed ; New UI ; Finalize the backend architecture and domain models
We looked at all the existing features and prioritized based on which are the most important features that are used by the customers and fit correctly in the Data flow. Then we developed high-fidelity mocks of the application. The mocks went through various iterations and finally we had the stakeholder agreement on the refreshed UI. Then we decided that we will be using React for front end as the JS can be used for developing web applications and Native application. NodeJs was chosen as the preferred backend application and Mongo DB to store the data.
We developed the new architecture of the micro-service on how REST APIs will be developed and how they will interact with the web and mobile applications.
Phase – 2 : Creating the backend APIs
Objective – Develop the backend APIs
Key Results – Have the REST API’s developed and deployed
We developed the REST API’s using the NodeJs and MongoDB, the application was hosted on AWS and we used Lambda functions for the application. Lambda helped in reducing the cost of application for our customer. Lambda helped with the Scalability issue, as lambda can scale themselves whenever there is a surge and they can go dormant when there is no traffic on the application.
This way, the modules of the application which were not having any traffic or were rarely used by the customers, went on cold lambdas and they were not using any IT resources. We also created postman collection of all the APIs that can be used to integrate with third party applications.
Phase – 3 : Developing the Web front end
Objective –
Key Results –
ReactJs was used to develop the Web front-end application. In the previous application there was no tracking of user engagement, so we integrated pendo to provide heat maps of user activity and provide in depth analytics. The UI was made responsive so that it can be used on mobile devices too.
Phase – 4 : Developing the mobile application
Objective –
Key Results –
React Native was chosen to develop the mobile application. The decision was taken to reduce the resources required to maintain the application in the future. Also, as the application does not require any hardware accelrations, we chose to go for a hybrid application. With React Native, we get the ability to develop the application once and deploy it both on Android as well as iOS.
We used AWS SNS to generate notifications and we ensured that the application was deployed on both the app-stores..
Final Result
Bookcrust now has a mobile application, web application and a refreshed API driven backend architecture.
Category:
E-learning & Education
Software:
Odoo
Service: