Giter Club home page Giter Club logo

ascendas-loyalty-app's Introduction


Logo

This outlines the project codebase for AY2023/2024 Semester 1 CS301 - G1T1

Table of Contents
  1. About the Project
  2. Getting Started

About The Project

Our project consists of three backend applications which are the User Storage mircoservice which allow user to list user,enroll new user and update and delete user information.It also consists of the Point Ledger microservice which allow user to query point balance of an user and adjust balance of their points account. Lastly we have the Admin Proxy application which acts as a gateway betweeen the client and the two applications stated above.

Deployment

Deployment of the project is done on AWS cloud. The set up of the infrastructure was done manually previously on the cloud console, but we have since extracted the cloudformation templates to enable us to set up the ECS Cluster and ECS Service Environments and developed Continuous Deployment Pipeline to automate the deployment of ECS Tasks onto the ECS Cluster.This will allow us to deploy the solution across different regions.

Some of the services and resources, however, would still require manual provision through the cloud management console. There are attempts to automate the infrastructure management with IaaC using Terraform, but it is still a work in progress.

Please refer to the Deployment Guide for more information on how to set-up and deploy the AWS Environment.

Getting Started

  1. Navigate to our hosted website on this Application Link
  2. We have created an account for our Professors Yeow Leong and Eng Lieh with these two respective emails [email protected] and [email protected]
  3. Click on the Sign in with Google button

Listing Users

Upon Signing in as an user, the user will be greeted with all the users that is in the Ascenda Loyalty Application Database

Enrolling New Users

  1. User will navigate to the Enroll User tab on the sidebar
  2. After inputting the user details,the system would navigate back to the user listing page
  3. To verify the user has been added, please enter the exact email in the search bar, and the new user will be returned

Updating New Users

  1. User will navigate to the Update User Details button by clicking on the View User Details Button
  2. After inputting the new user details, the user would be navigated back to the users listings page
  3. The user should see a change in the user details on the user listing page

Deleting Users

  1. User will navigate to the Delete User by clicking on the View User Details Button
  2. After pressing the Delete User button , the user would not appear on the user listing page

View All Companies

  1. Navigate to the View Company Accounts tab

Viewing All Users Under A Company

  1. After pressing on a company, the user would see all the users, along with their information and number of points in their account under the company

Edit Points

  1. After clicking on Edit Points for a particular user, the user can edit the amount of points of the selected user

Viewing All Accounts under A Particular Company

  1. User will navigate to the View Users tab
  2. After clicking on View User Details button, user will navigate to View Accounts

Add Points Account For A Particular User

  1. After clicking on Edit Points for a particular user, the user can edit the amount of points of the selected user

Update Permission for Users

  1. Admin will be able to update permission for the roles specified
  2. After unchecking the Add User permission for Owner , and then navigating to the enroll user tab
  3. The current User who has the Owner permisson, would then have an unauthoized page and not allowed to enroll users

Maker Checker Update Points

  1. Go to View Users tab
  2. Choose any user, take note of the user (may want to take note of email for easy search later on) and click on "View User Details" > "View Accounts"
  3. Choose any company that they are with, take note of their point balance with that company, copy User ID
  4. Navigate to Maker Checker tab
  5. Select Company that you chose in step 3
  6. Click "Create Request"
  7. Click "Select an action" and select "Points Update"
  8. Fill in "user_id" with the user ID copied in step 3
  9. Fill in "change" with the amount that you want the point balance to change by (e.g. if you want to increase by 100 input 100, if you want to decrease by 100 input -100)
  10. Click "Submit Request" (will throw an error if you choose a user that does not have an account with that company)
  11. Log in to a different account (necessary because the person that created the request should not be able to approve it)
  12. Navigate to "Maker Checker" tab
  13. Select the same company as earlier
  14. Approve request
  15. Navigate to "View Users" tab
  16. Find the same user as in step 2 (you may use the search function by typing their email into the search bar)
  17. Click on "View User Details" > "View Accounts"
  18. Verify if that the point total for the chosen company has changed

Maker Checker Update User Details

  1. Go to "View Users" tab
  2. Choose any user, take note of their email
  3. Navigate to "Maker Checker" tab
  4. Choose any company that you want to make the change on behalf of
  5. Enter "firstName", "lastName", "role" (can be multiple roles separated by commas without spaces. e.g. User,Owner,Admin) as you wish to change.
  6. Enter email that was noted in step 2
  7. Click "Submit Request"
  8. Log in to a different account (necessary because the person that created the request should not be able to approve it)
  9. Navigate to "Maker Checker" tab
  10. Select company that you created the request under
  11. Approve request
  12. Navigate to "View Users" tab
  13. Find the same user as in step 2 (you may use the search function by typing their email into the search bar)
  14. Verify that their first name, last name and role have changed

(back to top)

ascendas-loyalty-app's People

Contributors

sjng1234 avatar tanyipeng834 avatar peek00 avatar bryanleezh avatar justinpansacola avatar japhethleongyh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.