Der Microsoft Learn Student Ambassadors AIMT Club ist eine von Studenten geleitete und von der Community koordinierte Initiative unter der Leitung von Ashish Ujjwal , dem Clubleiter. Dieser Club ist eine innovative und engagierte Gemeinschaft, in der Schüler an verschiedenen technischen und unterhaltsamen Aktivitäten teilnehmen können, darunter:
Das Ziel dieses Projekts besteht darin, eine voll funktionsfähige Webanwendung zu erstellen, die die Koordination der Clubaktivitäten durch ein Event-Panel, ein Admin-Panel, ein Blog-Panel und mehr unterstützt.
Organisieren, verwalten und nehmen Sie ganz einfach an Veranstaltungen teil. Benutzer können durchsuchen, sich registrieren und Details zu bevorstehenden Clubveranstaltungen erhalten.
Ein vollständig CRUD-fähiges Blog-Panel, in dem Benutzer und Administratoren Blogs erstellen, lesen, aktualisieren und löschen können.
Verwalten Sie alle Benutzer, Ereignisse und Blogs über ein zentrales Admin-Panel . Administratoren haben die vollständige Kontrolle über die Plattform, einschließlich des Versands von Newslettern und der Moderation der Benutzeraktivitäten.
Nahtlose E-Mail-Benachrichtigungen über Nodemailer . Benutzer werden per E-Mail über Veranstaltungsregistrierungen, Blog-Updates und andere Aktivitäten benachrichtigt.
Sichere und zuverlässige Benutzerauthentifizierung mit JSON Web Tokens (JWT) . Rollen und Berechtigungen werden für Benutzer, Administratoren und Eventmanager verwaltet.
Die Echtzeitkommunikation mit Socket.io ermöglicht eine dynamische und ansprechende Interaktion zwischen Benutzern bei Live-Events und Chats.
Die gesamte Plattform wird auf Azure bereitgestellt und gehostet, was eine schnelle und skalierbare Leistung gewährleistet.
Schauen Sie sich die Projektdemonstration und das Walkthrough-Video an:
Dieses Projekt basiert auf dem MERN Stack mit zusätzlichen Funktionen für E-Mail-Dienste und Echtzeitinteraktion.
Benutzersammlung :
Speichert Benutzerinformationen, einschließlich Rollen (Administrator, Benutzer), Authentifizierungstokens und Profildaten.
Veranstaltungssammlung :
Speichert alle veranstaltungsbezogenen Daten, einschließlich Veranstaltungsdetails, registrierter Benutzer und Veranstaltungsorganisatoren.
Blog-Sammlung :
Eine Sammlung aller von Benutzern erstellten Blogs, zusammen mit Zeitstempeln, Kategorien und Angaben zur Urheberschaft.
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.
Zur Einrichtung von E-Mail-Benachrichtigungen ist der Nodemailer-Dienst integriert. Sie können die Absender-E-Mail in der .env-Datei konfigurieren, wie im Abschnitt „Lokale Einrichtung“ gezeigt.
Das Admin-Panel ermöglicht Ihnen:
Dieses Projekt beinhaltet eine Echtzeit-Chat-Funktion mit Socket.io. Benutzer können während Veranstaltungen interagieren, Live-Kommentare posten und an Echtzeit-Diskussionen teilnehmen.
In zukünftigen Versionen möchten wir weitere Funktionen hinzufügen, wie zum Beispiel:
Um das Projekt lokal auszuführen, gehen Sie folgendermaßen vor:
Klonen Sie das Repository
git clone https://github.com/AshishUjjwal/Microsoft-LSA-AIMT.git
Navigieren Sie zum Projektverzeichnis
cd Microsoft-LSA-AIMT
Abhängigkeiten installieren
npm install
cd client
npm install
Umgebungsvariablen einrichten
Erstellen Sie eine .env-Datei im Stammverzeichnis und fügen Sie die folgenden Variablen hinzu:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
[email protected]
EMAIL_PASS=your_email_password
Führen Sie die Anwendung aus. So führen Sie den Server und den Client aus:
npm run dev
Greifen Sie auf die Anwendung zu. Öffnen Sie Ihren Browser und gehen Sie zu http://localhost:3000.
Dieses Projekt war ein wichtiger Teil des Microsoft Learn Student Ambassadors-Programms. Es soll den Aufbau einer Gemeinschaft und die Zusammenarbeit zwischen Studenten und Fachleuten gleichermaßen fördern.
Kontaktieren Sie uns gerne unter:
Wir freuen uns über Beiträge aus der Community! Wenn Sie einen Beitrag leisten möchten:
Weitere Einzelheiten finden Sie in den Beitragsrichtlinien.
This project is licensed under the MIT License - see the LICENSE file for details.