마이크로 서비스와 Docker를 사용하여 Edtech 플랫폼 구축
프로젝트 설명
프로젝트는 3 개의 마이크로 서비스로 구성됩니다.
- 사용자 마이크로 서비스
- 코스 마이크로 서비스
- 등록 마이크로 서비스
사용자 마이크로 서비스는 사용자를 응용 프로그램에 등록하는 데 도움이됩니다. 그런 다음 사용자가 자신의 계정에 로그인하고 스스로 별도의 세션을 갖도록 도와줍니다. 이 마이크로 서비스에는 독립적 인 데이터베이스 (이 경우 MongoDB 데이터베이스)가있어 사용자 자격 증명 만 유지해야합니다. 데이터베이스에 저장된 비밀번호는 인정되므로 웹 애플에 등록하는 사용자의 보안을 보장합니다.
코스 마이크로 서비스는 로그인 한 사용자가 특정 과정에 등록 할 수 있도록 도와줍니다. 로그인 한 사용자는 등록 된 과정에서 자신의 속도로 배울 수 있습니다. 이 웹 애플이 가지고있는 고유 한 기능은 모든 사용자가 기존 교육 웹 응용 프로그램과 달리 자체 과정을 업로드 할 수 있다는 것입니다. 모든 사용자는 다른 사용자가 배울 수 있도록 콘텐츠를 업로드 할 수 있습니다.
등록 마이크로 서비스는 기본적으로 API 요청을 제 3 자 지불 서비스로 전송하며 사용자의 모든 지불을 처리하고 따라서 사용자의 특정 과정에 대한 액세스를 가능하게하는 데 도움을줍니다.
이 프로젝트를 로컬로 운영하는 방법은 무엇입니까?
- 이 저장소를 복제하십시오.
- 코드베이스에 ".env"파일이 있는지 확인하십시오. razorpay keyid 및 secret_key를 포함하도록 ENV 파일의 내용을 업데이트하십시오.
- js-> script.js-> <cloudinary_url>를 편집하여 프로젝트의 Cloudinary URL을 입력하십시오.
- Docker를 설치하고 시작하십시오.
- 터미널을 사용하고 다음 명령을 작성하십시오.
docker-compose up --build --remove-orphans
- http : // localhost : 5000으로 이동하여 웹 사이트를 찾아 실행하십시오.
웹 사이트 URL
라이브 웹 사이트 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__sejbi9onpoak35rzrzpd8wg/view?usp=sharing
클라우드에서 웹 사이트를 배포하는 방법은 무엇입니까?
- 무료 계층 구독 (필요한 경우)을 사용하여 Oracle Cloud 계정을 만듭니다.
- VCN (Virtual Cloud Network)을 만듭니다.
- 포트 22, 80에 대한 Ingress 규칙을 추가하여 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로 이동 : 포트! 짜잔! 귀하의 웹 사이트는 Cloud에 배포되었습니다! :)
기술 논문
2021 년 12 월 @aparna0522 (Aparna Naik)가 IEEE 푸네 컨퍼런스에서 발표 한 논문.
논문은 2022 년 1 월 31 일 IEEE XPlore에 출판되었습니다.
종이 링크 : https://ieeexplore.ieee.org/document/9686535
응용 프로그램의 독창성
- 이 응용 프로그램을 사용하면 모든 사용자가 자신의 코스를 업로드하여 다른 사람들이 같은 코스에서 배울 수 있도록합니다. (사용자 관점)
- 이 응용 프로그램은 MicroServices 아키텍처를 사용하여 모 놀리 식 아키텍처 응용 프로그램에 비해 확장 가능하고 의존하며 강력합니다. (기술 관점)
미래의 일
- 동료가 채팅 서비스를 통합하여 일대일, 네트워크, 학습 및 성장을 허용합니다 (등록 된 사용자 만 다른 사용자 만 볼 수있게하고 사용자가 달리 원하지 않는 한 신원 세부 정보를 숨기도록합니다).
- 강사가 쉽게 평가할 수 있도록 quizes를 만들 수있는 능력.
- 코스 업 로더에 대한 일부 분석 모니터링 시스템을 추가 할 수 있습니다.
- 추천 서비스.
- 새로운 코스 알림 서비스.
응용 프로그램의 중요한 기능 :
- 다른 마이크로 서비스와 무관합니다.
- 한 서비스가 다운되면 다른 서비스에는 영향을 미치지 않습니다.
- 서비스의 스케일링.
- 효율적인.
- 포장성.