Создание платформы EDTech с использованием микросервисов и докера
Описание проекта
Проект состоит из трех микросервисов, а именно:
- Пользовательский микросервис
- Курс микросервис
- Зачисление микросервиса
Пользовательский микросервис помогает зарегистрировать пользователя в приложение. Затем он помогает пользователю войти в свою учетную запись и получить отдельный сеанс для себя. Этот микросервис имеет независимую базу данных (в данном случае базу данных MongoDB), которая отвечает за сохранение только учетных данных пользователя. Пароль, который хранится в базе данных, включен и, следовательно, обеспечивает безопасность пользователей, регистрирующихся в приложении для веб-приложения.
Courses Microservice помогает войти в пользователя зарегистрироваться в конкретный курс. Зарегистрированный пользователь может затем учиться в своем собственном темпе от зарегистрированных курсов. Уникальная функция, которую есть у этого веб-приложения, заключается в том, что любому пользователю разрешено загружать свои собственные курсы в отличие от традиционных образовательных веб-приложений. Любой пользователь может загрузить свой контент для других пользователей.
MicroService Relllment в основном передаст запрос API в службу платежей сторонних сторон, и это позаботится обо всех платежах, произведенных пользователем, и, соответственно, поможет в обеспечении доступа к конкретному курсу для пользователя.
Как запустить этот проект на местном уровне?
- Клонировать это хранилище.
- Убедитесь, что у вас есть файл «.env» в вашей кодовой базе. Обновите содержимое в файле ENV, чтобы включить Razorpay Keyid и Secret_key
- Введите облачный URL для вашего проекта, отредактировав JS -> script.js -> <cloudary_url>
- Установите Docker и запустите.
- Используйте терминал и напишите следующую команду.
docker-compose up --build --remove-orphans
- Перейдите к http: // localhost: 5000, чтобы найти веб -сайт.
URL -адрес веб -сайта
Live URL -адрес веб -сайта: http://129.213.124.99:5000/
Облачная платформа: облачная инфраструктура Oracle
Видео
Подробное видео и объяснение: https://drive.google.com/file/d/1fmqwxorlnv5u1kesagilcfcrnljfw6gn8/view?usp=Sharing
Короткое видео: https://drive.google.com/file/d/1eyqw0__sejbi9onpoak35rzrsozpd8wg/view?usp=sharing
Как развернуть веб -сайт в облаке?
- Создайте Oracle Cloud Account, используя бесплатную подписку на уровень (если это необходимо).
- Создайте виртуальную облачную сеть (VCN).
- Настройте список безопасности по умолчанию для VCN, добавив правила проникновения для портов 22, 80. Добавьте порты, которые вы будете использовать для проекта. Например, в этом проекте у нас есть порты 5000, 5001, 7000, 30002.
- Создайте и подключитесь к экземпляру Cloud.
- Установите GIT, Docker и Docker-Compose на терминале экземпляра Cloud.
- Клонировать это хранилище и запустить
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
Уникальность применения
- Это приложение позволяет любому пользователю загружать свой курс, чтобы другие могли учиться на том же курсе. (Пользовательская перспектива)
- Это приложение использует архитектуру микросервисов, которая делает ее масштабируемой, надежной и надежной по сравнению с монолитными архитектурированными приложениями. (Технологическая перспектива)
Будущая работа
- Пусть коллеги подключаются один на один, сетевой, изучать и расти вместе, интегрируя службу чата (позволяя только зарегистрированным пользователям видеть других пользователей и скрывать детали идентификации, если только пользователь не хочет иначе).
- Возможность для инструкторов создавать Vizes для легкой оценки.
- Можно добавить некоторую систему мониторинга аналитики для загрузчика курса.
- Рекомендационная служба.
- Новая служба уведомлений о курсе.
Важные особенности приложения:
- Независимо от других микросервисов.
- Если одна услуга уходит, это не влияет на другие услуги.
- Масштабирование услуг.
- Эффективный.
- Портабилость.