Skip to content

janchilling/DS-Microservices-Project

Repository files navigation

Manage - Educational Platform for Online Learning

Repository for "manage" which is a website where students can gain knowledge by going through a wide variety of courses available at manage. Instructors can join manage and add their respective courses for students to share their knowledge and explore the space of knowledge regarding everyday things and it was built for Distributed Systems (DS) module of the second semester of the third year in the BSc. in IT degree specialized in Software Engineering program at SLIIT.

DS Assignment - S2-SE-WE-45

A full Backend and Frontend implementation of Manage which is a website where users can login as students or instructors. The students can view all the courses that are submitted by the instructors, they can enroll themselves to the course and for that they need to make the payment via Stripe. Once the payment is done, they will enrolled to the course after administrator approval. The instructors can create specific courses to share their knowledge among the students and they can also update and delete the courses accordingly. The users can also view their user profiles and manage them.

The architecture behind Manage is the Microservices architecture which is an architecture that is consisted of small services. All the requests between the client side and the server side is done through the API gateway. Our system has 4 specific microservices,

  • User Management System
  • Course Management System
  • Enrollment Management System
  • Payment Management System

System Demonstration Video Link : https://www.youtube.com/watch?v=irYGMlJKooo

Contributors & Contribution

  • Manula Gunatilleke - Enrollment Management Service and UI's
  • Teshan Jayakody - Course Management Service and UI's
  • Bihesha Dilshan - User Management Service and UI's
  • Keshan Pathirana - Payment Management Service and UI's

Setup Instructions

  • Clone the project, open the folder in the command prompt and give the command "code ."
  • To Install all the Node Modules: npm install
  • Specific Node Packages used : express, mongoose, bodyParser, cors, dotenv, jsonwebtoken, bcrypt, emailjs, nodemon, jest, bootstrap, react-toastify
  • Since the Services are dockerized, build by: docker-compose up --build
  • After the build is successful, access the specific port; localhost:3000

Technologies Used :

  • MERN Stack: MongoDB, Express, React, Node
  • CSS Frameworks: Tailwind CSS, Material UI
  • API Testing: Postman
  • IDE : Visual Studio Code
  • Containerization: Docker
  • Container Orchestration System : Kubernetes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •