MegaSchool digital educational platform
We took up the MegaSchool project 2.5 years ago.
Our team has refactored low-quality code, built a lot of new features, and provided continuous tech support.
About this Project
MegaSchool is a digital teaching practice platform that enables distance education. Being far more than a typical CMS, it allows students to receive a full-fledged learning experience, communicate with teachers, and complete assignments without being physically present at a school.
use MegaSchool today
of development and support
When we started working on the MegaSchool project, the platform had been live for several years already. It was historically written in Pure PHP and contained a lot of legacy spaghetti code.
To clean up the program, our team performed a complete audit and refactored the code. Since then, we have been using Laravel, a state-of-the-art PHP framework, to develop new pieces of the platform functionality.
The MegaSchool platform provides teachers and students with all the tools needed for productive collaboration during the educational process
The MegaSchool web system has a sophisticated architecture. It supports 8 subdomains on a single back end. In addition, a feature set is different for each school since it depends on the users’ need for specific functionality.
Challenges & Solutions
MegaSchool is a complex project with ambitious goals so, naturally, we’ve faced a lot of hurdles since it got to us. But our desire to help the client along with our team’s strong expertise allowed us to successfully overcome all of them
|Challenge: The MegaSchool platform is focused on the Israeli target audience, so its content and historical code comments are written in Hebrew.||Solution: We were constantly communicating with the client who kindly made presentations about the platform in English for us. Our team also used all other available means of translation to “understand” this web system.|
|Challenge: The client needed to enable different functionality for each subdomain. So updating the code wasn’t an easy task.||Solution: We created on/off flags in the configuration file for each new feature.|
|Challenge: The client wanted to have the MegaSchool logo added to all files in the PDF format when they are downloaded from the system. But it was hard to connect third-party API to the 10-year-old custom platform||Solution: We worked closely with the PDFkit support team who provided us with detailed explanations on how their functionality works “from the inside”. We used this information to enable the requested functions in the MegaSchool system|
|Challenge: The client needed our tech support on Sundays since they're working days for Israeli schools.||Solution: We tweaked the working schedules of the team members involved in this project to make them available on weekends.|
|Challenge: The platform had a poor database structure. It contained a lot of redundant data and lacked cascading deletes.||Solution: We did a comprehensive database refactoring.|
|Challenge: The MegaScool was initially built with the use of mutually exclusive technologies, e.g. Vue.js and jQuery. Plus, there was a lot of legacy code.||Solution: We gradually refactor the code to improve its quality.|
|Challenge: The security level of the platform wasn’t sufficient. Users could have performed some actions without having been previously authorized.||Solution: We performed black-box and white-box testing to examine the system vulnerability and then fixed all the detected bugs.|