Le club AIMT des étudiants ambassadeurs Microsoft Learn est une initiative menée par des étudiants et coordonnée par la communauté sous la direction d' Ashish Ujjwal , le responsable du club. Ce club est une communauté innovante et engageante où les étudiants peuvent participer à diverses activités techniques et ludiques, notamment :
L'objectif de ce projet est de créer une application Web complète qui prend en charge la coordination des activités du club via un panneau d'événements, un panneau d'administration, un panneau de blog, etc.
Organisez, gérez et participez facilement à des événements. Les utilisateurs peuvent parcourir, s'inscrire et obtenir des détails sur les événements à venir du club.
Un panneau de blog entièrement compatible CRUD où les utilisateurs et les administrateurs peuvent créer, lire, mettre à jour et supprimer des blogs.
Gérez tous les utilisateurs, événements et blogs à partir d'un panneau d'administration centralisé. Les administrateurs ont un contrôle total sur la plateforme, y compris l'envoi de newsletters et la modération de l'activité des utilisateurs.
Notifications par e-mail transparentes via Nodemailer . Les utilisateurs sont informés de l'inscription aux événements, des mises à jour du blog et d'autres activités par e-mail.
Authentification utilisateur sécurisée et fiable à l'aide de jetons Web JSON (JWT) . Les rôles et autorisations sont gérés pour les utilisateurs, les administrateurs et les gestionnaires d'événements.
La communication en temps réel avec Socket.io permet une interaction dynamique et engageante entre les utilisateurs lors d'événements et de discussions en direct.
L'intégralité de la plateforme est déployée et hébergée sur Azure, garantissant des performances rapides et évolutives.
Regardez la démonstration du projet et la vidéo pas à pas :
Ce projet est construit sur la pile MERN avec des fonctionnalités supplémentaires pour les services de messagerie et l'interaction en temps réel.
Collecte des utilisateurs :
Stocke les informations utilisateur, y compris les rôles (administrateur, utilisateur), les jetons d'authentification et les données de profil.
Collecte d'événements :
Stocke toutes les données liées à l'événement, y compris les détails de l'événement, les utilisateurs enregistrés et les organisateurs de l'événement.
Collection de blogs :
Une collection de tous les blogs créés par les utilisateurs, ainsi que les horodatages, les catégories et les détails de la paternité.
This project uses JWT for user authentication and role-based authorization. The following user roles are supported:
1. Admin:
Full access to all resources including events, users, and blogs.
2. Event Manager:
Limited access to manage events and moderate related user activities.
3. User:
Can register for events, read blogs, and contribute by writing blog posts.
Pour configurer les notifications par email, le service Nodemailer est intégré. Vous pouvez configurer l'e-mail de l'expéditeur dans le fichier .env comme indiqué dans la section Configuration locale.
Le panneau d'administration vous permet de :
Ce projet inclut une fonctionnalité de chat en temps réel utilisant Socket.io. Les utilisateurs peuvent interagir lors d'événements, publier des commentaires en direct et participer à des discussions en temps réel.
Dans les versions futures, nous visons à ajouter plus de fonctionnalités telles que :
Pour exécuter le projet localement, procédez comme suit :
Cloner le référentiel
git clone https://github.com/AshishUjjwal/Microsoft-LSA-AIMT.git
Accédez au répertoire du projet
cd Microsoft-LSA-AIMT
Installer les dépendances
npm install
cd client
npm install
Configurer les variables d'environnement
Créez un fichier .env dans le répertoire racine et ajoutez les variables suivantes :
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
[email protected]
EMAIL_PASS=your_email_password
Exécuter l'application Pour exécuter le serveur et le client :
npm run dev
Accédez à l'application Ouvrez votre navigateur et accédez à http://localhost:3000.
Ce projet constitue une partie importante du programme Microsoft Learn Student Ambassadors. Il est conçu pour favoriser le développement de la communauté et la collaboration entre étudiants et professionnels.
N'hésitez pas à nous contacter sur :
Nous apprécions les contributions de la communauté ! Si vous souhaitez contribuer :
Pour plus de détails, veuillez lire les directives de contribution.
This project is licensed under the MIT License - see the LICENSE file for details.