Learning List Management System Improvement
Experts from Mbicycle improved a learning list management platform for a UK-based digital learning resources provider by updating the app’s legacy code and migrating the app data to the cloud.
Client & Context
When the client reached Mbicycle, they already had a working version of their online list management system. With it, customers could create and manage lists of textbooks and multimedia learning materials used by universities and other educational institutions.
The client’s list management system initially worked as a SaaS solution and was distributed by a subscription model. The app implied the following user roles for each educational resource provider to let them operate the RLMS effectively:
- Administrators — create courses and lists of textbooks and media references for them. These lists display only metadata of each educational material, such as a book title, its index, content, or even a link to download it from the university’s internal library or external sources of third-party providers. Administrators can edit resource lists, add links to media and other thematic resources on the Internet, define access for users (Students) to these lists, and have other management options.
- Students — use the client’s application to view the list of references and educational materials. With this app, Students can also find out the curriculum indicating specific study materials. But the main benefit of the client’s learning list management system for Students is the ability to get the relevant data about the textbook or other material title, ISBN / ISSM barcode, its full content, as well as a link to access these study materials in the internal online library or on the provider’s external source.
Challenges & Requirements
The client’s reading list management software initially implied the storage and processing of a large amount of education-related data. In this regard, the main client requirement for the outsourcing development company was the need for high-end development skills and qualifications for successfully and quickly transferring the software core to the .NET programming platform and migrating the app database to the cloud using Azure Kubernetes Service (AKS). The speed was also the primary criterion, as the system had already worked with several educational institutions and students, so we shouldn’t have affected the current app performance.
The main challenge of this project was to move the reading list management system core from the Practical Extraction and Report Language (PERL) to the .NET framework just to improve the app’s performance and stability. The client didn’t possess enough in-house resources with the required level of technical expertise to accomplish this task, so they asked our managers to provide experienced developers with the proper skills.
Working on this project, the Mbicycle team encountered several minor tasks, partly related to the main challenge. These include a large amount of outdated PERL code, insufficient technical documentation for the project, and the need to update the app UI after migrating to the .NET platform.
We also faced another issue related to the fact that the project was a working solution with an active client base. Therefore, we needed to assure a smooth migration from the legacy code by updating the entire product in parts without affecting the current users.
Process
From the very beginning of this software project, our company provided an experienced .NET Technical Lead and .NET Middle+ Developer to implement the stated requirements. The client’s team was represented by their Product Owner.
As a development model, specialists from Mbicycle chose Waterfall. In the course of work, we expanded the project team by adding a few more full-stack developers, and the client involved their Project Manager in the team. Along with the staff update, the task implementation process and their range also changed slightly, so we decided to switch to Agile with two-week sprints and daily meetings.
Solution
Our main solution for this reading list management software focused on a full-fledged modernization of the app code, a complete UI update, and the database migration to Microsoft cloud services.
We started by fully transferring the PERL code to the .NET framework, then updated the client’s learning platform on a microservice architecture using AKS and a few other data management tools from Microsoft Azure.
After all the listed operations on improving this RLMS and migrating its database to the cloud, specialists from Mbicycle extended the list of improvements by adding the following features:
- Completely redesigned user interface.
- Customizable reports for educational content providers cooperating with this resource list management platform.
- Updated and optimized search filter for text and media materials.
- Solid integration with content providers with timely price updates via third-party APIs.
- Quick content navigation using tags.
- Advanced tools for precise analytics of the content usage.
Technologies & Tools
Architecture
Microservices
Frontend
AngularJS, Angular 13, TypeScript, Bootstrap3, Angular Material, Tailwind CSS
Backend
.NET 3.1, .NET 6
Third-party library APIs
EntityFramework, PostgreSQL, Redis, Memcached, REST API, SignalR, Serilog, Swagger, Hangfire, SendGrid Azure DevOps, Azure Build Pipelines, Docker, Azure Kubernetes Service
Results
Mbicycle’s experts have completed the first development phase of this project, which implied the following:
- Updating the application code and transferring it to the .NET framework.
- Migrating the software database to the cloud via Microsoft Azure.
- Making several minor improvements to the performance and usability of the entire learning list management system.
Currently, our specialists are working on improving the front-end part, replacing the code written in AngularJS with Angular 14. The working process is going smoothly, as we realize a gradual redesign of the updated app version without affecting the running software core.
As a result, our team improved the overall performance of the client’s learning platform, as well as allowed to enhance the list of textbooks and educational media materials, and significantly expanded the number of Students and Administrators.