Skip to content
@cs301-2023-g3t3

admin-portal

This Admin Portal built for Ascenda Loyalty is a highly scalable and highly available solution for internal admin staff to handle users and their points account

G3T3 Admin Portal

Description

This Admin Portal built for Ascenda Loyalty is a highly scalable and highly available solution for internal admin staff to handle users and their points accounts. We mainly utilised a serverless architecture to deploy our microservices as AWS Lambda Functions.

Solution Architecture

Submodules

This repository consist of the following services linked as submodules:

  • frontend - Web Application built with Next.js that serves users.
  • authentication_lambda - Customised Lambda authentication service for Role-Based Access Control.
  • email_service - An emailing service that communicates with SES that is built in Python.
  • logs-lambda - A microservice for logging related activity that is built in Python.
  • maker-checker - A microservice REST API for makerchecker that is built using Golang with the Gin framework.
  • points-ledger - A microservice REST API for points that is built using Golang with the Gin framework.
  • user-storage - A microservice REST API for users that is built using Golang with the Gin framework.
  • infra - Terraform code to set up base infrastructure of our current architecture. Also contains k6 test scripts.

Dependencies

This project has the follow dependencies:

Cloning the project

This project contains submodules, to ensure that the submodules are clone properly, run the clone command with the --recurse-submodules flag:

git clone --recurse-submodules <repository-url>

Testing the current setup

To try out the final product of our Admin Portal system:-

  1. Head over to the website: www.itsag3t3.com
  2. Ensure that you have a Gmail account set up, and login.
  3. Navigate and play around the functions!

Setting up

This current system is implemented on AWS Cloud, utilising the AWS Serverless Computing services like AWS Lambda, AWS RDS Aurora, AWS S3.

To setup, we have provided an Terraform codes for setting up the base infrastructure that we are currently using in infra. Additionally, we have provided Terraform codes for our backend services for maker-checker, points-ledger, and user-storage.

Do note that additional configuration may be needed to get te services working.

Environment variables

Inside each submodule repositories, please take note that all submodules associate with this project will also have their own env.example files that need to be copied, renamed and modified.

Popular repositories

  1. points-ledger points-ledger Public

    Go

  2. user-storage user-storage Public

    REST API microservice for user database

    Go

  3. project-2023-24t1-g3-t3-frontend project-2023-24t1-g3-t3-frontend Public

    TypeScript

  4. authentication_lambda authentication_lambda Public

    Custom authoriser using Cognito and Lambda

    Python

  5. maker-checker maker-checker Public

    Makerchecker service for verifying requests made by lower privilege

    Go

  6. diagramming diagramming Public

    Python

Repositories

Showing 10 of 11 repositories
  • admin-portal-main Public

    Admin Portal System developed for Ascenda Loyalty, built with Go, Python and NextJS.

    cs301-2023-g3t3/admin-portal-main’s past year of commit activity
    0 0 0 0 Updated Nov 18, 2023
  • cs301-2023-g3t3/points-ledger’s past year of commit activity
    Go 0 0 0 0 Updated Nov 16, 2023
  • .github Public
    cs301-2023-g3t3/.github’s past year of commit activity
    0 0 0 0 Updated Nov 14, 2023
  • cs301-2023-g3t3/project-2023-24t1-g3-t3-frontend’s past year of commit activity
    TypeScript 0 0 0 0 Updated Nov 14, 2023
  • authentication_lambda Public

    Custom authoriser using Cognito and Lambda

    cs301-2023-g3t3/authentication_lambda’s past year of commit activity
    Python 0 0 0 0 Updated Nov 14, 2023
  • infra Public
    cs301-2023-g3t3/infra’s past year of commit activity
    HCL 0 0 0 0 Updated Nov 14, 2023
  • logs-lambda Public

    logging service

    cs301-2023-g3t3/logs-lambda’s past year of commit activity
    Python 0 0 0 0 Updated Nov 14, 2023
  • cs301-2023-g3t3/diagramming’s past year of commit activity
    Python 0 0 0 0 Updated Nov 14, 2023
  • maker-checker Public

    Makerchecker service for verifying requests made by lower privilege

    cs301-2023-g3t3/maker-checker’s past year of commit activity
    Go 0 0 0 0 Updated Nov 14, 2023
  • user-storage Public

    REST API microservice for user database

    cs301-2023-g3t3/user-storage’s past year of commit activity
    Go 0 0 0 0 Updated Nov 13, 2023

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…