マイクロサービスとDockerを使用してEdtechプラットフォームを構築します
プロジェクトの説明
プロジェクトは、3つのマイクロサービスで構成されています。
- ユーザーマイクロサービス
- コースマイクロサービス
- 登録マイクロサービス
ユーザーマイクロサービスは、ユーザーをアプリケーションに登録するのに役立ちます。その後、ユーザーがアカウントにログインし、自分のために個別のセッションを行うのに役立ちます。このマイクロサービスには、ユーザーの資格情報のみを維持する責任がある独立したデータベース(この場合はMongoDBデータベース)があります。データベースに保存されているパスワードは刻まれているため、Webアプリに登録するユーザーのセキュリティが保証されます。
コースマイクロサービスは、ログインしたユーザーが特定のコースに登録できるようにします。ログインしたユーザーは、登録されたコースから自分のペースで学習できます。このWebアプリが持っているユニークな機能は、どのユーザーも従来の教育Webアプリケーションとは異なり、独自のコースをアップロードできることです。他のユーザーが学習できるようにコンテンツをアップロードできます。
登録マイクロサービスは基本的にAPI要求を第三者の支払いサービスに転送し、ユーザーが行ったすべての支払いを処理し、それに応じてユーザーの特定のコースへのアクセスを有効にするのに役立ちます。
このプロジェクトをローカルに実行する方法は?
- このリポジトリをクローンします。
- コードベースに「.ENV」ファイルがあることを確認してください。 envファイルのコンテンツを更新して、razorpay keyidとsecret_keyを含める
- js-> script.js-> <Cloudinary_url>を編集して、プロジェクトのCloudinary URLを入力します
- Dockerをインストールして開始します。
- 端末を使用して、次のコマンドを書きます。
docker-compose up --build --remove-orphans
- http:// localhost:5000に移動して、Webサイトを稼働させます。
ウェブサイトURL
ライブWebサイトURL:http://129.213.124.99:5000/
クラウドプラットフォーム:Oracle Cloud Infrastructure
ビデオ
詳細なビデオと説明:https://drive.google.com/file/d/1fmqwxorlnv5u1ksagilcfcrnljfw6gn8/view?usp=sharing
ショートビデオ:https://drive.google.com/file/d/1eyqw0__sejbi9onpoak35rzrsozpd8wg/view?usp=sharing
クラウドにウェブサイトを展開する方法は?
- Free Tierサブスクリプションを使用して、Oracle Cloudアカウントを作成します(必要に応じて)。
- 仮想クラウドネットワーク(VCN)を作成します。
- ポート22、80にイングレスルールを追加して、VCNのデフォルトセキュリティリストを構成します。プロジェクトに使用するポートを追加します。たとえば、このプロジェクトには、ポート5000、5001、7000、30002があります。
- クラウドインスタンスに作成して接続します。
- クラウドインスタンス端末にGit、Docker、Docker-Composeをインストールします。
- このリポジトリをクローンして実行します
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に移動:ポート!出来上がり!あなたのウェブサイトはクラウドに展開されています! :)
技術論文
2021年12月に @Aparna0522(Aparna Naik)がIEEE Pune Conferenceで発表した論文。
2022年1月31日にIEEE Xploreに掲載された論文。
紙リンク:https://ieeexplore.ieee.org/document/9686535
アプリケーションの独自性
- このアプリケーションにより、ユーザーはコースをアップロードして、他の人が同じコースから学習できるようにします。 (ユーザーの視点)
- このアプリケーションでは、マイクロサービスアーキテクチャを使用して、モノリシックな建築用アプリケーションと比較して、スケーラブルで依存し、堅牢になります。 (テクノロジーの観点)
将来の仕事
- ピアがチャットサービスを統合することにより、1対1のネットワーク、ネットワーク、学習と成長(登録ユーザーのみが他のユーザーを表示できるようにし、ユーザーが別の方法を望んでいない限り、IDの詳細を隠すことができます)。
- インストラクターが簡単に評価するためにクエイズを作成する能力。
- コースアップローダーにいくつかの分析監視システムを追加できます。
- 推奨サービス。
- 新しいコース通知サービス。
アプリケーションの重要な機能:
- 他のマイクロサービスから独立しています。
- 1つのサービスがダウンした場合、他のサービスには影響しません。
- サービスのスケーリング。
- 効率的。
- 携帯性。