CONTACT

The Client

Covid-19 accelerated the adoption of digital learning. The client’s digital learning platform also witnessed a surge in user base and became the primary distribution channel. This necessitated the platform to be capable of handling large loads and provide high performance. The client’s digital learning platform was built incrementally over the last 5 years and was not designed for scale.

Service Offerings

Services

Architecture Design
Backend Development
Frontend Development
DevOps
Quality Assurance

Technology Stack

PHP Laravel 8

Angular

Android / Kotlin

MySQL

Redis

Sanctum - SPA

Socialite - Social authentication

Passport - Oauth2 Server

Bugsnag

Business Use Case

  • Migrate the existing monolith application to service oriented architecture for scalability and improved performance.
  • The application needed to transform into a platform architecture to become more open and integrable – to integrate with different partners to deliver as well as consume services.
  • The current application only supported English. It had to be upgraded to support multiple regional languages.
  • The application also had an offline model running on Raspberry Pi. This needed to be streamlined.

Solution

  • The existing application was developed in PHP. We decided to retain the back end and re-develop the front end in Angular. We also used this opportunity to refactor the code and improve the readability and maintainability of the code.
  • The Application will be created as a microservice with APIs programmed in PHP Laravel.
  • The Front end developed in Angular uses the key value pair to do the language translation for customer interface.
  • Common APIs were developed to be consumed by the web and mobile applications.
  • Currently the entire application was installed in Raspberry Pi to support Offline mode. This was streamlined and only the necessary services and databases were deployed.
Online Mode

Offline Mode

Challenges

  • Offline mode deployment and utilizing the same application in both cloud and Raspberry Pi (Offline) presented significant challenges.
  • Ability of Raspberry Pi to Load the application posed problems.
  • Data Synchronization between the Online and Offline servers.

Results

  • Using the fully decoupled microservice architecture the application was made light so that it could be deployed in offline mode as well. 
  • A sync module was established to do the data sync and ensure consistency between the distributed systems
  • The Microservice architecture enabled us to scale the services based on usage. This improved performance and also optimized AWS infrastructure expense. 
  • Using JWT token based security the API’s were made available to other partners in a secure manner.

How can we help you?

Get in touch with us to schedule a consultation