Skip to content

Chen-Han-TX/GetSmartTutoring_Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

197 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Get Smart Tutoring (GST)

Get Smart Tutoring, or GST for short, is a tutoring service web application that utilizes React and microservices, containerized and hosted on Google Cloud Kubernetes.

Architecture Diagram

Untitled_2023-02-07_06-00-46

Kubernetes Diagram

Assignment2 drawio (1)

Microservice Design Considerations

1. Authentication Management

  • User Registration

    image

  • User Login with credentials, set non-critical user data into local storage

    image

  • User Logout

2. Tutoring Functionalities

  • Student search for tutors based on subjects of interest

    image

  • Student apply for tutoring

    image

  • Student/Tutor get all applications sent/received

    image

  • Tutor accept/deny tutoring applications

    image

3. Chatroom

  • Create chatroom once tutor accepts application

  • User get a list of created chats

  • User send message in a specific chatroom

    image

4. Payment

  • User make payment for tutoring session

    image

5. Subjects

  • Get a list of subjects, with the ability to specify between all, psle, olevel and alevel

Cloud Native Design, Architecture Rationale and Resiliency

  • Cloud Reliability by replicas being set to 3; In the case that any of the pods go down, another one will be reinstated in place of the previous.
  • Cloud Scalability through Google Cloud, where auto-scaling is set to listen to CPU usage to tune up/down the number of resources being deployed.
  • Cost-effectiveness that ties in with scalability, as resources are only instantiated when necessary and taken down when no longer necessary.
  • Agility through the use of rolling updates to replace old versions of the application with new ones with no disruption and no downtime to users.
  • Portability through ease of deployment on other cloud services (so on this occasion, we utilised Google Cloud).

Development Tools & Methods

Get Smart Tutoring was developed using the following tools:

Deployment

Latest deployment of the application on http://104.154.110.27:80

Step-by-step guideline on Deployment

Credits

About

ETI Assignment 2 - Cloud Native Application

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors