بناء منصة edtech باستخدام الخدمات الدقيقة و docker
وصف المشروع
يتكون المشروع من ثلاث خدمات microservices وهي:
- مستخدم microservice
- دورة microservice
- الخدمات المجهرية الالتحاق
تساعد Microservice المستخدم في تسجيل المستخدم في التطبيق. ثم يساعد المستخدم على تسجيل الدخول إلى حسابه والحصول على جلسة منفصلة لأنفسهم. تحتوي هذه الخدمات الصغيرة على قاعدة بيانات مستقلة (في هذه الحالة قاعدة بيانات MongoDB) المسؤولة عن الحفاظ على بيانات اعتماد المستخدم فقط. تم تخزين كلمة المرور التي يتم تخزينها في قاعدة البيانات ، وبالتالي تضمن أمان المستخدمين الذين يسجلون على تطبيق الويب.
تساعد Dicroservice دورات Microservice في تسجيل الدخول إلى المستخدم على التسجيل في دورة معينة. يمكن للمستخدم المسجّل بعد ذلك التعلم عند وتيرته من الدورات التدريبية المسجلة. ميزة فريدة من نوعها لديها تطبيق الويب هذا هو أنه يُسمح لأي مستخدم بتحميل دوراته الخاصة على عكس تطبيقات الويب التعليمية التقليدية. يمكن لأي مستخدم تحميل محتوىه للمستخدمين الآخرين للتعلم منها.
ستقوم Microservice بالتسجيل إلى تحويل طلب API إلى خدمة دفع طرف ثالث وسيعتني بجميع المدفوعات التي يقوم بها المستخدم ، وبالتالي تساعد في تمكين الوصول إلى الدورة التدريبية الخاصة للمستخدم.
كيف تدير هذا المشروع محليًا؟
- استنساخ هذا المستودع.
- تأكد من أن لديك ملف ".env" في قاعدة الشفرة الخاصة بك. قم بتحديث المحتويات في ملف ENV لتضمين Razorpay Keyid و Secret_key
- أدخل عنوان URL Clourinary لمشروعك عن طريق تحرير JS -> script.js -> <lookerinary_url>
- تثبيت Docker والبدء.
- استخدم المحطة واكتب الأمر التالي.
docker-compose up --build --remove-orphans
- انتقل إلى http: // localhost: 5000 للعثور على موقع الويب.
عنوان URL موقع الويب
عنوان URL على الويب المباشر: http://129.213.124.99:5000/
منصة السحابة: البنية التحتية لمشروعة أوراكل السحابة
مقاطع الفيديو
فيديو وشرح مفصل: https://drive.google.com/file/d/1fmqwxorlnv5u1ksagilcfcrnljfw6gn8/view؟usp=sharing
فيديو قصير: https://drive.google.com/file/d/1eyqw0__sejbi9onpoak35rzrsozpd8wg/view؟usp=sharing
كيف تنشر موقع الويب على السحابة؟
- قم بإنشاء حساب Oracle Cloud ، باستخدام اشتراك الطبقة المجانية (إذا لزم الأمر).
- إنشاء شبكة سحابة افتراضية (VCN).
- قم بتكوين قائمة الأمان الافتراضية لـ VCN عن طريق إضافة قواعد الدخول للمنافذ 22 ، 80. أضف المنافذ التي ستستخدمها للمشروع. على سبيل المثال ، في هذا المشروع لدينا منافذ 5000 ، 5001 ، 7000 ، 30002.
- إنشاء وتوصيل مثيل السحابة.
- قم بتثبيت Git و Docker و Docker-Corm في محطة مثيل السحابة.
- استنساخ هذا المستودع وتشغيله
docker-compose up --build -d
- قم بإعداد جدار الحماية باستخدام الأوامر التالية:
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
- انتقل إلى IP العام الخاص بك: منفذ! فويلا! تم نشر موقع الويب الخاص بك على السحابة! سائدا
ورقة فنية
ورقة مقدمة في مؤتمر IEEE Pune بواسطة @Aparna0522 (Aparna Naik) في ديسمبر 2021.
ورقة نشرت في IEEE Xplore في 31 يناير ، 2022.
رابط الورق: https://ieeexplore.ieee.org/document/9686535
تفرد التطبيق
- يسمح هذا التطبيق لأي مستخدم بتحميل مساره حتى يتمكن الآخرون من التعلم من نفس الدورة. (منظور المستخدم)
- يستخدم هذا التطبيق بنية الخدمات الدقيقة التي تجعلها قابلة للتطوير ، تعتمد وقوة مقارنة بالتطبيقات المعمارية المتجانسة. (منظور التكنولوجيا)
العمل المستقبلي
- دع أقرانهم يتواصلون مع واحد ، والشبكة ، والتعلم والنمو معًا ، من خلال دمج خدمة الدردشة (مما يسمح للمستخدمين المسجلين فقط برؤية مستخدمين آخرين ، وإخفاء تفاصيل الهوية ، إلا إذا كان المستخدم يريد خلاف ذلك).
- قدرة المدربين على إنشاء Quizes لسهولة التقييم.
- يمكن إضافة بعض نظام مراقبة التحليلات لتحميل الدورة التدريبية.
- خدمة التوصية.
- خدمة إشعار الدورة الجديدة.
ميزات مهمة للتطبيق:
- مستقلة عن الخدمات المجهرية الأخرى.
- إذا سقطت خدمة واحدة ، فهي لا تؤثر على الخدمات الأخرى.
- تحجيم الخدمات.
- فعال.
- portablity.