Back to Case Studies

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.

Client Overview

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.