Erstellen einer EdTech -Plattform mit Microservices und Docker
Projektbeschreibung
Das Projekt besteht aus drei Microservices, nämlich:
- Benutzer Microservice
- Kurs Microservice
- Einschreibung Microservice
Benutzer MicroService hilft bei der Registrierung eines Benutzers in die Anwendung. Anschließend hilft es dem Benutzer, sich in sein Konto anzumelden und eine separate Sitzung für sich zu haben. Dieser Microservice verfügt über eine unabhängige Datenbank (in diesem Fall MongoDB -Datenbank), die nur für die Aufrechterhaltung der Benutzeranmeldeinformationen verantwortlich ist. Das in der Datenbank gespeicherte Passwort ist eingeschaltet und sorgt daher für die Sicherheit der Benutzer, die sich in der Web-App registrieren.
Coures MicroService hilft einem angemeldeten Benutzer, sich in einen bestimmten Kurs anzumelden. Der angemeldete Benutzer kann dann in ihrem eigenen Tempo aus den eingeschriebenen Kursen lernen. Eine einzigartige Funktion, die diese Web-App hat, ist, dass jeder Benutzer seine eigenen Kurse im Gegensatz zu herkömmlichen Bildungsnetzanwendungen hochladen darf. Jeder Benutzer kann seinen Inhalt für andere Benutzer hochladen, aus denen sie lernen können.
Die Anmeldung MicroService überträgt die API -Anfrage im Grunde genommen auf einen Zahlungsdienst von Drittanbietern und sorgt für alle vom Benutzer geleisteten Zahlungen und hilft dementsprechend dabei, den Zugriff für den jeweiligen Kurs für den Benutzer zu aktivieren.
Wie führe ich dieses Projekt lokal aus?
- Klonen Sie dieses Repository.
- Stellen Sie sicher, dass Sie die Datei ".env" in Ihrer Codebasis haben. Aktualisieren Sie die Inhalte in der Env -Datei, um Ihren Razorpay KeyId und Ihr Razorpay und Secret_key einzuschließen
- Geben Sie die Cloudinary -URL für Ihr Projekt ein, indem Sie js -> script.js -> <wolkary_url> bearbeiten
- Installieren Sie Docker und starten Sie.
- Verwenden Sie das Terminal und schreiben Sie den folgenden Befehl.
docker-compose up --build --remove-orphans
- Navigieren Sie zu http: // localhost: 5000, um die Website in Betrieb zu nehmen.
Website -URL
Live -Website URL: http://129.213.124.99:5000/
Cloud -Plattform: Oracle Cloud -Infrastruktur
Videos
Detailliertes Video und Erläuterung: https://drive.google.com/file/d/1fmqwxorlnv5u1ksagilcfcrnljfw6gn8/view?usp=sharing
Kurzes Video: https://drive.google.com/file/d/1eyqw0__sejbi9onpoak35rzrsozpd8wg/view?usp=sharing
Wie Bereitstellen Sie eine Website in Cloud bereit?
- Erstellen Sie das Oracle Cloud -Konto mit dem Free Tier -Abonnement (falls erforderlich).
- Erstellen Sie virtuelles Cloud -Netzwerk (VCN).
- Konfigurieren Sie die Standardsicherheitsliste für das VCN, indem Sie die Eingangsregeln für Ports 22, 80 hinzufügen. Fügen Sie die Ports hinzu, die Sie für das Projekt verwenden. In diesem Projekt haben wir beispielsweise Ports 5000, 5001, 7000, 30002.
- Erstellen und verbinden Sie die Cloud -Instanz.
- Installieren Sie Git, Docker und Docker-Compose am Cloud-Instanzterminal.
- Klonen Sie dieses Repository und führen Sie aus
docker-compose up --build -d
- Richten Sie die Firewall mit den folgenden Befehlen ein:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp <ALL REQUIRED PORTS>
sudo firewall-cmd --reload
- Gehen Sie zu Ihrem öffentlichen IP: Port! Voila! Ihre Website ist in Cloud bereitgestellt! :)
Technisches Papier
Auf der IEEE Pune Conference von @parna0522 (Aparna naik) im Dezember 2021 vorgestellt.
Papier veröffentlicht am 31. Januar 2022 in IEEE XPLORE.
Papierlink: https://ieeexplore.ieee.org/document/9686535
Einzigartigkeit der Anwendung
- Mit dieser Anwendung kann jeder Benutzer seinen Kurs hochladen, damit andere aus demselben Kurs lernen können. (Benutzerperspektive)
- Diese Anwendung verwendet die Microservices -Architektur, die sie im Vergleich zu monolithischen architekturierten Anwendungen skalierbar, abhängig und robust macht. (Technologische Perspektive)
Zukünftige Arbeit
- Lassen Sie Peers eins zu eins, ein Netzwerk, lernen und wachsen zusammen, indem Sie einen Chat-Dienst integrieren (so dass nur registrierte Benutzer andere Benutzer sehen und Identitätsdetails verstecken, es sei denn, der Benutzer möchte etwas anderes).
- Fähigkeit für die Ausbilder, Quizes für eine einfache Bewertung zu erstellen.
- Kann ein Analytics -Überwachungssystem für den Kurs -Uploader hinzufügen.
- Empfehlungsservice.
- Neuer Kursbenachrichtigungsdienst.
Wichtige Merkmale der Anwendung:
- Unabhängig von anderen Microservices.
- Wenn ein Dienst ausfällt, wirkt sich dies nicht auf andere Dienste aus.
- Skalierung der Dienste.
- Effizient.
- Portable.