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.
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.
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.
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.