Educational applications

Development and maintenance of applications based on distributed services. Migration of parts of the platform to the AWS cloud. Preparing to migrate payments to Stripe.

React
Node.js
TypeScript
PHP
Drupal
AWS
MSSQL
PostgreSQL
Atlas MongoDB
Redis
CQRS
RabbitMQ
Why?

To provide digital educational products and services to schools and teachers around the world.

What?

Creation and implementation of an e-magazine and a platform with teaching materials.

How?

Application development and maintenance, migration to the cloud and preparation of payment migration to Stripe.

Overview

Tes is a British education company that provides proven digital solutions (products and services) to schools and teachers around the world. Our programmers worked mainly on two products – the digital version of the Tes Magazine and a platform for selling teaching materials.

The digital version of the Tes Magazine is a platform that offers a wide selection of professional articles for teachers. The platform is partly available for free. However, full access to content and the ability to use advanced features requires a subscription.

The platform for the sale of teaching materials contains a huge (over 900,000) database of scenarios and tools. The database is created by teachers, for teachers. Each person on the platform can share their tried-and-tested teaching materials for a fee, thus, supporting colleagues in the profession in making their lessons more attractive.

  • Scope

    Frontend & Backend Development, Cloud Infrastructure, Migration, Databases, QA

  • Industry

    Education

  • Region / Country:

    United Kingdom

Problem

The e-magazine and the platform with teaching materials are applications with extensive architecture and a dense network of connections between functions. Both products are used daily by thousands of users around the world. Continuous application maintenance work is needed to ensure seamless access. That is, updating the software and ensuring the right types of automated tests - not only end-to-end, but also regression and performance tests.

Due to the development of the Tes Magazine application with new functions and to respond to the needs related to a better User Experience (e.g. adapting the platform for people with disabilities), the application interface needed to be refreshed.

The desire to migrate the platform with teaching materials caused the need to develop technical documentation, a migration plan and to prepare the system itself.

The planned and implemented changes affected many business areas. Therefore, agile and effective communication between the FINGO development team, external suppliers of IT solutions, as well as people working on the client's side were crucial. It is worth noting that two technical leaders worked on the FINGO side.

Problem
Solution

Tes Magazine is based on Open Source Drupal software. As part of the maintenance work, our developers updated the system, upgrading the software from Drupal 7 and 8, to Drupal 9.

After technical analysis, they proposed the migration of the payment and subscription system to the Stripe service. In order to ensure the easier scaling of services and greater resistance of intermediate elements (e.g. database or external API services) to errors, they implemented CQRS architecture.

FINGO's developers have also implemented many changes related to the platform interface. For example, they added the ability to manage newsletters by the user. They made it possible to share paid articles for free with friends who do not have an account on the platform. They introduced different levels of accessibility to articles depending on whether the user has set up and paid for a subscription. What's more, they refreshed the look of the platform.

To minimize the number of errors, visual regression testing tools were used to take screenshots. After comparing the photos of the website before and after the update, you can see what has changed and where there may be a possible error (regression).  

The platform for the sale of teaching materials is based on an extensive microservice architecture (nearly 40 independently operating microservices). Our programmers took care of the constant and reliable updating and low-failure maintenance of the system.

Due to the planned migration of the platforms, our programmers analysed the existing architecture. They created a visualisation of the architecture in the C4 model. The analysis showed that the processed and stored data is scattered across many systems, and it is also necessary to draw process maps.

The next step was to develop a system migration plan. Implementation of the API and the implementation of automatic API tests enabled the quick detection of emerging errors.

Project result
Project results

Ensuring the security and continuity of the system's operation, based on microservice architecture by providing high-quality maintenance work.

Ensuring the quality of the event-based architecture code by implementing a variety of automated tests.

Preparation of an extensive application for migration through analysis, development of documentation and testing methods.

Reducing the probability of unexpected events by ensuring early and transparent communication with various teams working on the client's side.

Ensuring easier scalability of services and fault tolerance of intermediate elements, thanks to the implementation of CQRS architecture.