Skip to content

Educational platform for Online Learning (Microservices Architecture)

Notifications You must be signed in to change notification settings

DilruX10/ViduPiyasa

Repository files navigation

Vidu Piyasa - Educational platform for Online Learning

Vidu Piyasa is a innovative educational platform that makes online learning much easier. It was developed drawing inspiration from platforms like Coursera and Udemy. This platform is designed to provide wide a array of features that will meet the needs of both course instructors and learners.

Tech Stack

  • Frontend - ReactJS
  • BackEnd:
    • Architecture - Microservices
    • Services:
      • API Gateway: NodeJS
      • Course Service: Springboot, MongoDB
      • Learner Service: Springboot, MongoDB
      • Payment Service: Springboot, MongoDB
      • Notifcation Service: Springboot, Gmail SMTP, Twillio
      • User Service: NodeJS, MongoDB
      • Authentication Service: NodeJS, MongoDB
  • Other: Docker, Kubernetes

Functionality

Instructors will have the ability to manage course content, including unloading, and removing materials such as lecture notes, videos, and quizzes. Instructors will also be able tocontent monitor learner progress. The platform administrator will focus on validating and approving content related to the course before it is publicly released. Admin will also be responsible for managing financial transactions related to course enrollments.

This platform will provide learners with the ability to enroll in multiple courses simultaneously without scheduling conflicts, It also features an integrated payment gatewayconfirmation for course enrollment payments. Upon successful enrollment, learners will receive confirmation via SMS and email, utilizing third-party services for notification purposes.The primary goal behind this project is to build an functional educational latform that also serves as an hands-on example of micro-services architecture principles. It highlights core principles such as service independance, scalabillty, and the abillty to work with other services that are developed using different programming languages and web frameworks.

High Level Architectural Diagram

High Level Architectural Diagram