ECHO – Plateforme de Communication Étudiants–Enseignants
ECHO est le tout premier projet que j’ai réalisé avec mon équipe dans le cadre du module 'Projet Pluridisciplinaire' en 2CP à l’ESTIN. C’était notre première expérience concrète de conception, de développement et de déploiement d’une application web complète. L’objectif d’ECHO est d’améliorer la communication entre les étudiants et les enseignants au sein d’un environnement académique. La plateforme intègre une authentification par rôle (Étudiant, Enseignant, Administrateur), un fil d’actualités avec likes et commentaires, une messagerie instantanée, un espace réclamations et objets perdus, une intégration Google Calendar pour les emplois du temps, ainsi qu’un système complet de notifications en temps réel via WebSockets. J’ai dirigé le développement backend, géré l’architecture du projet et rédigé le rapport technique complet. Le backend a été développé en Node.js, Express et MongoDB, avec une architecture modulaire et une authentification JWT. Le frontend, développé en React, adopte une interface claire et intuitive en harmonie avec la palette de couleurs vert–gris–bleu d’ECHO. Ce projet nous a permis d’apprendre à collaborer efficacement, à utiliser Git pour le travail d’équipe, et à transformer une idée en un produit fonctionnel.
Stack Technique
Collaborateurs
- Bessah Rayane
- Aoughlis Omar Fakhreddine
- Khaled Ikram
- Lounissi Souhail
- Ouellabi Sara
- Khaled SADAOUI
Défis & Apprentissages
- Mise en place d’une architecture backend modulaire et évolutive avec Express et MongoDB. - Gestion de la communication en temps réel via WebSockets tout en préservant la sécurité et les performances. - Conception d’un système d’authentification à rôles multiples (Étudiant/Enseignant/Admin) avec validation des domaines. - Intégration de l’API Google Calendar pour la planification académique au sein de la plateforme. - Coordination d’une équipe de développement pour la première fois (gestion des branches Git et des conflits). - Rédaction d’un rapport technique complet incluant les choix d’architecture et les diagrammes UML. - Conception d’une interface équilibrant simplicité d’usage et richesse fonctionnelle pour différents rôles.
Résultats clés
- Première expérience concrète en développement full-stack.
- Conception d’un backend robuste avec Node.js, Express et MongoDB.
- Mise en place de la communication en temps réel avec WebSockets.
- Intégration de Google Calendar pour la planification académique.
- Apprentissage du travail d’équipe, du contrôle de version et du déploiement.