Six million students around the world pursue formal higher education fully online, representing a $30B market. This number does not consider all the E-learning platforms or Online courses available, which makes the market larger.

There are more than 100 million online learners nowadays, including those who have taken a short online course on Lynda.com, Udemy, Eduonix etc. The entire market is projected to be worth $325 Billion in 2025, and Africa, who that has the youngest population in the world, will reach $2073 million. Looking closer, we can conclude that Africa is the smallest E-Learning market in the world to date. E-learning is a powerful tool that can help to decrease this gap between Africa and the rest of the world.

The aim of my project is to create an online learning platform specialising in Information Technology courses. This platform will be developed for the French African Market with the intention to provide accessible and affordable resources that help the population to develop the required skills in IT.

The application is designed in a way that helps the instructors to improve the content of their course, but also recommends courses to students. CodeAvecMoi has two codebases, an API developed in Typescript connected to a MySQL database and a frontend build with the React framework NextJS in JavaScript.

This application requires a high amount of concurrent data as we are dealing with videos and pictures. The database can become a bottleneck, that's why Node JS has been used to handle queues inputs and also data streaming.

To optimize the performance and have a good user experience, all the medias of the application are managed by a content distribution network (CDN). A caching system (Redis) is also used, which will improve the responsiveness time and reduces the use of the resources.