Skip to content

EchoSkorJjj/IS213-Education-Helper

Repository files navigation

🏢 EduHelper

Democratising education for all, one student at a time.

🏆 2024 VMWare Tanzu Award Winner 🏆

We're immensely grateful to Professor Alan Megargel and Instructor Swetha Gottipati for their guidance and expertise during the development of EduHelper. Their strategic insights and focus on user-centric design have been pivotal in shaping the project.

We are also extremely grateful to Professor Rafael J. Barros for his guidance and support throughout the semester, especially during the periods where we pushed our projects for the Tanzu award. His advice and insights played a critical role in allowing us to showcase EduHelper in the best way possible.

📚 Table of Contents

  1. Quick Start
  2. Project Overview Diagram
  3. Technical Overview Diagram
  4. Frameworks and Databases Utilised
  5. Makefile
  6. Contributors

Quick Start

Prerequisites

  1. Docker (Windows | MacOS)
  2. GNU Make (Windows | MacOS) - Optional but recommended

Instructions (Make)

  1. To start the docker deployment, run the following command:
$ make up

That's it! All images are hosted on Docker Hub for ease of access.

  1. Once you are done, you can tear down the deployment:
$ make down

Alternatively, to tear down cleanly:

$ make down-clean

Do note that this will remove all containers associated with the project, orphaned containers, and Docker volumes. Do not run this command if you would like to keep your volumes.

Instructions (Docker Compose)

Follow these instructions if you do not have Make on your system, and do not want to install it.

  1. To start the docker deployment, run the following command:
$ docker compose -f deployment/docker/docker-compose.submission/yml -p esd up

To deploy in detached mode, add the -d flag:

$ docker compose -f deployment/docker/docker-compose.submission/yml -p esd up -d

All images are hosted on Docker Hub for ease of access.

  1. Once you are done, you can tear down the deployment:
$ docker compose -f deployment/docker/docker-compose.submission/yml -p esd down

Project Overview Diagram

Picture 1

EduHelper helps you learn about anything you want, at your own pace. We believe that everyone should have access to education, regardless of their background. As the wealth inequality gap among Singaporeans and the cost for quality education continues to grow, we find that a lot of youths today are left behind at no fault of their own. With EduHelper, we hope to bridge the gap between democratic education and meet the SDG to “Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all”.

Technical Overview Diagram

Architecture

Solution View

ESD Education Helper-Cloud overview drawio image

Development View

image

Frameworks and Databases Utilised

Services and UI

Golang   C++   SpringBoot   Typescript   Lua   Ruby   Python  
Golang · C++ · Spring Boot · Typescript · Lua · Ruby · Python


API Gateway

Kong API Gateway
CORS · Rate Limit Plugin · Custom Authentication Plugin


Storage Solutions

PostgreSQL   Redis   S3  
postgreSQL · Redis · S3


Message Brokers

RabbitMQ
rabbitMQ


Inter-service Communications

gRPC   REST API

Other Technologies

Stripe Payment API   Docker   Kubernetes   ArgoCD   Terraform  

Docker Compose · Docker Hub · Kubernetes · argoCD · Terraform


Makefile

For instructions on installing Make on Windows and Ubuntu, refer to /Makefile.md.

Contributors

G9 Team 8

Neil Sharma Song Jihoon Louis Teo Thaddeaus Low Yue Zheng Ting
NeilSharma SongJihoon LouisTeo ThaddeausLow YueZhengTing

** Note: The keys were uploaded for submission purposes. The keys have been revoked, and replaced with placeholder values.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages