EduHub est un site Web d'établissement d'enseignement innovant conçu pour offrir aux étudiants une expérience d'inscription transparente à un large éventail de cours pour un apprentissage amélioré. Il intègre un tableau de bord d'instructeur convivial qui permet aux instructeurs de créer des devoirs manuellement ou à l'aide d'une technologie d'IA de pointe. De plus, les instructeurs ont la capacité de faire des annonces en temps opportun, garantissant ainsi que les étudiants sont tenus au courant des mises à jour importantes.
En direct : https://edu-sphere-seven.vercel.app/
Le backend est construit sur Node.js.
Itinéraire | Cas d'utilisation | Accéder |
---|---|---|
OBTENIR /api/étudiant | Récupérer tous les étudiants | authentification, autoriser(["admin"]) |
POST /api/étudiant/inscription | Inscrire un nouvel étudiant | Publique |
POST /api/étudiant/connexion | Connectez un étudiant | Publique |
GET /api/student/course/instructor/:id | Placer les étudiants dans un cours assigné à un instructeur | authentification, autoriser(["instructeur", "admin"]) |
GET /api/instructeur | Récupérer tous les instructeurs | authentification, autoriser(["admin"]) |
POST /api/instructeur/inscription | Inscrire un nouvel instructeur | Publique |
POST /api/instructeur/connexion | Connectez-vous à un instructeur | Publique |
GET /api/instructeur/cours | Obtenez des instructeurs et des cours associés | authentification, autoriser(["admin"]) |
GET /api/instructeur/cours/disponible | Obtenez des cours non attribués à un instructeur | Publique |
GET /api/département | Récupérer tous les départements | Publique |
POST /api/département | Créer un nouveau département | authentification, autoriser(["admin"]) |
GET /api/département/cours | Obtenir les départements avec les cours associés | Publique |
GET /api/cours | Récupérer tous les cours | Publique |
POST /api/cours | Créer un nouveau cours | autoriser(["instructeur", "admin"]) |
OBTENIR /api/course/enrolled/:id | Obtenez des cours inscrits pour un étudiant spécifique | authentification, autoriser(["étudiant", "admin"]) |
GET /api/inscription | Récupérer toutes les inscriptions | authentification, autoriser(["admin"]) |
GET /api/enrollment/student/course | Obtenez toutes les inscriptions d'étudiants avec le cours et la date d'inscription | authentification, autoriser(["admin"]) |
POST /api/inscription | Inscrire un étudiant à un cours | authentification, autoriser(["étudiant"]) |
GET /api/affectation | Récupérer toutes les affectations | autoriser(["admin", "instructeur"]) |
POST /api/affectation | Créer une nouvelle mission | autoriser(["instructeur"]) |
GET /api/affectation/cours | Obtenez des devoirs avec des cours associés | autoriser(["admin"]) |
GET /api/assignment/course/:id | Obtenez des devoirs pour un cours spécifique | authentification, autoriser(["étudiant", "instructeur", "admin"]) |
OBTENIR /api/assignment/student/:id | Obtenez des devoirs et des soumissions pour un étudiant spécifique | authentification, autoriser(["étudiant", "instructeur", "admin"]) |
SUPPRIMER /api/assignment/:id | Supprimer un devoir | autoriser(["instructeur", "admin"]) |
PATCH /api/assignment/:id | Mettre à jour un devoir | autoriser(["instructeur", "admin"]) |
GET /api/soumission | Récupérer toutes les soumissions | authentification, autoriser(["admin"]) |
POST /api/soumission | Soumettre un devoir | authentification, autoriser(["étudiant", "instructeur"]) |
OBTENIR /api/soumission/étudiant | Obtenez les soumissions des étudiants | Publique |
OBTENIR /api/submission/course/:id | Obtenez des soumissions pour un cours spécifique | authentification, autoriser(["admin", "instructeur"]) |
OBTENIR /api/announcement/department/:id | Recevoir des annonces pour un département spécifique | authentification, autoriser(["admin", "instructeur", "étudiant"]) |
GET /api/announcement/course/:id | Recevoir des annonces pour un cours spécifique | authentification, autoriser(["admin", "instructeur", "étudiant"]) |
GET /api/annonce | Recevez toutes les annonces | authentification, autoriser(["étudiant", "instructeur", "admin"]) |
OBTENIR /api/announcement/student/:id | Recevoir des annonces pour les cours inscrits par un étudiant | authentification, autoriser(["étudiant", "instructeur", "admin"]) |
OBTENIR /api/annonce/:id | Recevez une annonce spécifique | authentification, autoriser(["étudiant", "instructeur", "admin"]) |
POST /api/annonce | Publier une nouvelle annonce | authentification, autoriser(["admin", "instructeur"]) |
POST /api/ai/chat | Publier un message pour le chatbot AI | Publique |
POST /api/ai/affectation | Obtenez des informations sur les missions à l'aide de l'IA | authentification, autoriser(["instructeur", "admin", "étudiant"]) |
GET /api/student
: Récupère tous les étudiants.POST /api/student/signup
: Enregistrez un nouvel étudiant.POST /api/student/signin
: Connectez un étudiant.GET /api/instructor
: Récupère tous les instructeurs.POST /api/instructor/signup
: Enregistrez un nouvel instructeur.POST /api/instructor/signin
: Connectez un instructeur.GET /api/department
: Récupère tous les départements.POST /api/department
: Créez un nouveau département.GET /api/course
: Récupère tous les cours.POST /api/course
: Créez un nouveau cours.GET /api/enrollment
: récupère toutes les inscriptions.POST /api/enrollment
: Inscrire un étudiant à un cours.GET /api/assignment
: récupère toutes les affectations.POST /api/assignment
: Créez une nouvelle mission.GET /api/submission
: Récupère toutes les soumissions.POST /api/submission
: Soumettez un devoir.GET /api/announcement
: Obtenez toutes les annonces.GET /api/announcement/:id
: Obtenez une annonce spécifique.POST /api/announcement
: Publiez une nouvelle annonce.POST /api/ai/chat
: Publiez un message pour l'IA du chatbot.POST /api/ai/assignment
: obtenez des informations sur les affectations à l'aide de l'IA.Tout au long du développement d'EduHub, j'ai eu l'opportunité d'élargir considérablement mes connaissances et mes compétences. Voici quelques-uns des principaux points à retenir :
Nouvelles piles technologiques : j'ai exploré et mis en œuvre de nouvelles piles technologiques, notamment en utilisant l'IA générative, en seulement un mois. Cette expérience a enrichi ma maîtrise de la gestion d'outils et de frameworks de pointe.
IA générative : J'ai notamment approfondi l'IA générative dans le cadre du cours GA-201. Apprendre à tirer parti de l’IA pour diverses tâches, telles que la génération de missions et les interactions avec les chatbots, a été une expérience enrichissante.
Communication : Le développement du système d'annonces m'a appris l'importance d'une communication efficace pour garantir que les étudiants, les instructeurs et les administrateurs soient informés rapidement des mises à jour essentielles.
Intégration de l'IA : l'intégration de fonctionnalités d'IA dans le projet, telles que le chatbot IA génératif et le générateur d'affectations IA, a ouvert des possibilités passionnantes pour automatiser et améliorer les interactions des utilisateurs.
Apprentissage continu : Ce projet a renforcé l'importance de l'apprentissage continu dans le monde en évolution rapide de la technologie. S’adapter aux nouveaux outils et technologies est essentiel pour rester compétitif et innovant.
Je voudrais également mentionner que j'ai reçu une aide précieuse d'un modèle d'IA au cours du processus, démontrant le potentiel de l'IA pour simplifier divers aspects du développement logiciel.
Merci pour l'opportunité de travailler sur EduHub, et j'ai hâte d'appliquer ces nouvelles compétences à de futurs projets et efforts.
Remarque : Ce projet individuel a été développé en seulement 8 jours.