DEMO: https://youtu.be/3-J-ifIlWvc
- We decided to build an application for a popular milk tea spot in San Jose called Gong-cha.
- The whole project is separated into four main division: three microservices and one backend RestAPI.
- The RestAPI is implemented and deployed On GKE beforehand for microservices to make use of.
- Each microservices is written within it's own folder and main running class, executing separately.
- However, all microservices shares the same MySQL database through the backend API for consistency.
The Cashier App is used by the baristas to take in and process orders and their payments. This will call the CyberSource API to handle payments.
The Online Store manages customer data, such as user credentials, the user's card information, user's cart, and generating orders.
The Backoffice Help Desk is used by managers to change user's credentials.
The REST API processes api calls to manage orders, customers, and cards, which will be called in the Cashier App, Online Store, and the Backoffice Help Desk.
NOTE: Clone the entire repository to a folder on your local machine before following these steps. The following steps runs the application locally. ENSURE that Node.js is installed on your local machine.
-
Open the repository folder, navigate to
customer\
, and open a terminal at this location. -
Run the commands
gradle build
andgradle bootRun
to run the customer microservice.
-
Open the repository folder, navigate to
order\
, and open a terminal at this location. -
Run the commands
gradle build
andgradle bootRun
to run the order microservice.
-
Open the repository folder, navigate to
payment\
, and open a terminal at this location. -
Run the commands
gradle build
andgradle bootRun
to run the payment microservice.
-
Open the repository folder, navigate to
frontend\
, and open a terminal at this location. -
Run the command
npm install
(NOTE: you can skip warnings and npm audit). -
In the terminal, navigate to
frontend\my-app\
, and run the commandnpm install
(NOTE: you can skip warnings and npm audit). -
In the terminal, run the command
npm start
to run the front-end app on the link http://localhost:3000
NOTE: You will have 4 different terminals open
Although we don't have much journals, since our team was hectic (we had one of our teammates drop the class), we were able to get basic functionalities/bare minimum but we did struggle a lot with the back-end. Our team did it too last minute, so yes we shouldve started sooner.