
Web Based Learning Management System
Client
The client required an eLearning management system (EdTech Platform) that enables the organizations to create and run their own e-learning courses with an online eLearning platform. Our client focuses on Training and Talent Management, and wanted to build an application that can be tailored to the specific needs of enterprises and HR departments of organizations on any vertical.
Solution
The web platform helps organizations & individuals to access the latest e-learning industry trends for creating robust learning experiences. Our team designed a generalized schema design for the CMS which would be compatible with the CMS framework. UI/ UX team has created an intuitive UI for dynamic CMS management which makes the LMS super easy for both learners and training administrators. Our developers have written custom Javascript code for tracking the events when users are clicking on the Control buttons in the Video Player. Inorder to track insights data, we have designed two DBs: first DB stores the information of users, courses, targets and other details and the second DB captures the data of different events while users are watching video tutorials/ courses. Whenever the users start learning/ watching courses, Azure service bus would be triggered and the events data would be stored in the second DB. For displaying data summary on Dashboard, we fetched data & information from two different DBs and wrote custom code to perform suitable calculations in the retrieved data. Our dev team had written complex business logic to load different questions & swap the questionnaire when the user takes a second/ third attempt for the same test.
Core Features | |
SaaS Platform | Azure Cloud |
Individual and Corporate Onboarding | Continuous Integration and Delivery using Azure Devops |
Registration/Onboarding | Azure Containers |
Multiple Subscription Plans | Analytics & Reporting(Event Based) |
Payment Gateway integration | Export CSV |
Organization Dashboard | Business Integrations |
Users and Roles | Google Analytics |
Realtime Analytics | Linkedin Integration |
Global Search |
Architecture & Analytics System
This web application is designed in N tier architecture style to ensure scalability and Fault tolerance. And that ensured vertical & horizontal scalability.
We followed the OLAP Model to design Analytics specifically Snowflake model. The Snowflake model is more apt than Star in our case since our business is built around Learning/Courses Domain, This helped to bring more details/business reporting about the various areas of the business . like drill down, rollup ( details about hierarchical dimensions). By using the Snowflake model we achieved that, instead of having multiple star schemas we use one schema approach that is more easier in our case.
We used OLAP – Snowflake model to design the db, snowflake schema is an extension of a star schema .Star and snowflake schemas are similar , a central fact table surrounded by dimension tables. The difference is in the dimensions themselves. In a star schema each logical dimension is deformalized into one table, while in a snowflake, at least some of the dimensions are normalized.
To implement this, we used event based architecture and asynchronous communication mechanism using Azure Service Bus( Topic based publish – subscribe model). We also use Power BI for visualization.
Fig 1. Azure Kubernetes Service
Fig 2. Azure Service Bus
Technology & Tools
Frontend | Backend | Integration | Hosting | Monitoring | Tools |
Angular | .net Core 3.1 | Intercom | Azure | Prometheus | Visual Studio / JetBrains Rider |
Bootstrap | C# | Mollie | Azure Kubernetes | Grafana | SQL server management Studio(SSMS) |
HTML 5 | Asp.net webApi | Azure Service Bus(Messaging) | Nginx | Azure Service bus Explorer | |
CSS3/LESS | Entity Framework | Slack | AzureDevOps | ||
TypeScript | SQL Server 2018 | ||||
NodeJS | Redis | ||||
Power BI | ElasticSearch |
Challenge
The client wanted to use his own custom CMS framework for the web platform. It was a challenging task to integrate the features of LMS with the CMS framework. Another challenge faced was integrating a third party video player to our application. The client has chosen Wistia video player for the platform. It was a difficult task to capture the real-time of different events(play/ pause/ no:of seconds watched etc) while users are watching video tutorials. The other challenge encountered was tracking insights data and Analytics integration. The client had a Power BI application and he suggested integrating the PowerBI application with the Analytics of our platform. It was a tedious task to design DB for this requirement. The next challenge was to display a data summary on Dashboard. Implementing a module test/ exam was a demanding task because the question list needed to be replaced with another set of questions when the user is attempting the same test for a second/ third time.
Results
Scalan Labs was able to successfully deliver the web platform within the scheduled time. The end result was a LMS where organizations/ individuals build and deliver all of their digital training content. No additional configuration or IT support is required. Organizations/ individuals can create their own learning materials and courses. There is also a web based admin portal for overall administration and management where the admin can add or delete courses, users & instructors, set targets and track learner progress.
“Of all the things I’ve done, the most vital is coordinating those who work with me and aiming their efforts at a certain goal.” –
Walt Disney, Founder of Disney
More Case Studies
Looking for a LMS application? Get in touch with our team to find out more about how we can develop your app.