EdTech architecture upgrade
Client Overview
A prominent Dutch e-learning platform faced the challenge of modernizing its legacy system while continuing to serve hundreds of thousands of students. The solution involved a comprehensive platform overhaul, including the implementation of Docker and an optimized architecture.
This EdTech client experienced exponential growth during the pandemic, further underscoring the need for scalability and efficiency. Our team refactored the platform's codebase to enable seamless collaboration among multiple developers, ensuring a smooth and efficient development process. Simultaneously, we migrated the entire platform to a robust new AWS infrastructure, providing the scalability and reliability needed to support the platform's growing user base.

Our Process
We upgraded the application's architecture to adopt a service-based structure, enhancing scalability and modularity. Additionally, we initiated the development of automated tests, seamlessly integrated with GitHub Actions for continuous execution. A new Docker image was also created, now utilized by all developers and automated testing processes. This image closely mirrors the production environment, ensuring consistency and reliability across workflows.
Technical Highlights
The technologies we used to deliver the solution
Symfony
Docker
Jenkins
Codeception / PHPUnit / PestPHP
AWS
PestPHP architecture tests / PHPStan
Solutions
The custom solution we developed for the client, after understanding their unique needs and challenges.
We migrated the development from locally installed PHP to a containerized environment, while simultaneously upgrading PHP to the latest stable version
Moved all database writes to run through a service-based structure, allowing for consistent processing
Automated testing increased the confidence of developers
Key Findings
Docker images serve as the backbone of consistency across development, testing, and production environments. By standardizing these processes, teams can ensure that applications perform reliably at every stage, minimizing discrepancies and potential errors.
The use of Docker simplifies infrastructure management, making tasks like upgrading PHP versions remarkably straightforward. This efficiency reduces downtime and allows developers to focus on enhancing functionality rather than dealing with complex deployment challenges.
A service-based architecture significantly accelerates development cycles while enhancing system stability. By breaking the application into modular services, teams can work more efficiently, resolve issues faster, and scale individual components without disrupting the entire system.
Impact
The company has expanded significantly, growing from a single developer to a team of six, all dedicated to delivering consistent, high-quality software. The application has achieved remarkable stability, with minimal downtime, and the team now executes releases with confidence and precision. Currently, the company is transitioning towards an API-first architecture, laying the groundwork for scalability and modern integration. Simultaneously, the entire frontend is being rebuilt using Next.js, ensuring a cutting-edge user experience and performance optimization.