Development of a free platform which offers peer learning.
This is the project carried out at the end of the React.js training that I followed within the O'clock school. It was carried out with 4 other students over 4 weeks with the following tasks allocation : 3 front-end developers and 2 back-end developers.
A user who wants to become a mentor and offer a course in a given skill or take a course offered by another mentor can register on the site.
When he logs in, he can search among the courses offered, suggest a new course or add certain courses to his favorites to find them easily.
From his profile page, he can view and delete his favorites, delete the courses he has offered himself and also update his profile data.
There is also rights management, with an "administrator" role which validates the courses offered before they are visible on the site and which has the possibility of deleting all the courses and all the users.
Regarding the back-end part, it is a REST API created with a PostgreSQL database and the ExpressJS framework.
For the front-end part, we used React.js coupled with Redux for the management of actions, API calls and the store. We have also implemented the Leaflet library to locate the courses on a map.
User authentication is provided by the JWTs with an accessToken stored in the state of the application which allows requests to be authenticated and a refreshToken stored in the localStorage which allows to keep the user connected and to retrieve a new accessToken.
This project was the subject of a 15-minute Youtube presentation (in French) available by clicking here.