Online learning platform
We have developed a modern online learning platform for a client in the EdTech industry and successfully migrated users from their legacy system, which had accumulated significant technological debt and caused numerous issues for the company over the years.
- WWW
- Backend
- Frontend
Client description
The client is a company that caters to a community of students and parents for whom homeschooling (both primary and secondary education) serves as a solution to the challenges they've encountered in traditional schools.
The company adopts the Education 4.0 model and supports parents and children in homeschooling by providing tools and solutions that aid in remote learning.
Furthermore, the company undertakes other educational projects for children residing abroad, allowing them to follow the Polish curriculum and enhance their knowledge of the Polish language and culture.
The aim of the project
The previously used educational platform was created over a decade ago and was developed by different teams without the use of any frameworks and without adhering to consistent coding standards and best practices.
This resulted in a massive, accumulating technological debt and countless platform-related issues, especially at the beginning of each new school year, which practically paralyzed the client's company's smooth operation.
The main objective of the project was to increase user satisfaction, enhance the efficiency of the client's team, and reduce platform maintenance costs by creating a modern, stable, and secure system that could be expanded without accumulating technological debt. The subsequent step involved migrating users to this new system.
What technologies did we use?
To build the platform, we used PHP with the Symfony framework, and the databases were MariaDB and Redis as a non-relational database. The construction of the new platform was executed following the principles of hexagonal architecture.
For the front-end, we relied on React, TypeScript, Redux, Redux Toolkit, RTK Query, and Chakra UI.
- PHP
- Symfony
- Maria DB
- Redis
- Redux
- React
- TypeScript
- Chakra UI
Main challenges
In the initial phase of our collaboration, we considered repairing, refactoring, and further developing the existing system. However, after conducting an audit and the initial maintenance efforts, it became clear that the only viable option was to rewrite the platform in a way that would make it scalable and provide room for seamless future expansion.
The first challenge was to stabilize the operation of the old system and eliminate key issues that hindered platform use. We tackled the most pressing issues step by step, often specific to particular users who, for instance, had login problems, by creating various patches and workarounds. This allowed us to gain additional time and focus on the primary goal of our collaboration, which was the development of a new educational platform.
Proper selection of solutions and the creation of a system architecture that considered ongoing growth, an increase in the number of users, and significant future expansion were necessary. This encompassed known aspects at this stage (building a new platform was just one element of the entire roadmap and our collaboration with the client) as well as the need for expansion dictated by the market and the continued development of teaching methods.
Another challenge was the project's target audience, primarily students aged 6-14. We had to create a solution and implement a new graphical layer provided by the client that would align with the expectations of young users.
A key aspect of the implementation was the entire process of migrating users from the old platform to the new one. We supported the client in this regard, both in executing the entire process from a technical perspective and in distributing a mailing containing information and instructions regarding the new platform. Additionally, the client's requirement was to operate both platforms simultaneously in the first school year.
In addition, we also faced the following challenges:
- Conducting a detailed analysis of the legacy system and devising the best path to create the new platform.
- Establishing priorities, breaking down the project into stages, and preparing complex schedules that took into account the simultaneous operation of the old and new platforms.
- A tight deadline - work commenced in the spring, and the platform had to be completed before the start of the school year.
- The need for the accelerated implementation of certain platform features so that the client could prepare educational materials for the new school year.
Platform functionalities
Over the course of several months working on the new platform, we implemented a range of functionalities to facilitate effective online learning.
Key features include:
- A module that enables access to lessons, practice exams, homework assignments, progress tracking, earned achievements, and other features for acquiring and reinforcing knowledge.
- A teacher module that allows teachers to create lessons and tests.
- An advanced lesson and educational material management module in the form of a creator, which allows the use of various elements such as text documents, images, videos, audio files, mathematical formulas, interactive tasks, and external iframes (e.g., learning apps).
- A test module comprising various question types, including single and multiple-choice questions, arranging items in the correct order, dragging and dropping elements, matching images to descriptions, matching descriptions to descriptions, and filling in textual gaps with the appropriate elements.
- A practice exam module, which is a generator that randomly selects questions from various lesson elements and test materials, then compiles them into a final exam.
- Comprehensive statistics on platform usage by students and their progress in learning.
- A badge module for students, introducing gamification elements to the platform.
Let’s talk!
Do you have a similar project in mind? Contact us!
Project team
The project involved a project manager, tech lead, backend and frontend developers, and testers. Additionally, on the client's side, there were two product owners working on the project.
In total, 12 individuals were engaged in the project.
Implementation process
- Client consultationsWe held numerous meetings with the client to establish a detailed scope of work.
- Technology selection and schedule preparationWe prepared an implementation plan along with a detailed schedule and selected appropriate technological solutions.
- DevelopmentThis was the most extensive stage of the project, and we had to work under a tight deadline due to the need to complete the project before the start of the school year.
- Testing and feedbackAt every stage of the project, we conducted both internal manual and automated testing and worked closely with the client to incorporate their ongoing feedback.
- Database migration from the old system to the newBefore the launch, we migrated the database of several tens of thousands of students to a new database, as well as conducted a series of simulations and load tests.
- Production deploymentAfter launching the new platform, we assisted the client in creating and sending information and instructions to students via email regarding the new platform.
- HypercareIn September, after the launch, we provided hypercare support to ensure a smooth start to the new school year.
- Let’s talk!Do you have a similar project in mind? Contact us!Book a meeting
Project outcomes
Before:
- Outdated platform
- Lack of operational stability
- Difficulty in maintaining and developing the system
- Dissatisfied users
After:
- Modern, stable platform
- Seamless, future-proof system expansion
- Increased user satisfaction
- Improved company performance
What the company gained
Thanks to the excellent collaboration between the client and the service provider, our client gained a modern online learning platform that enables the delivery of high-quality education, data security, and user satisfaction. Furthermore, the implemented work significantly reduced the ongoing maintenance costs and opened up opportunities for further development, ultimately contributing to the company's increased competitiveness.
See also
Marketplace platform for selling new and used cars with financing
At the company, which sells cars and vans along with financing, we have cut sales costs by 60% by creating a new sales channel in the form of a dedicated marketplace platform. The platform allows new and used cars to be purchased online in four simple steps.
More