/cash-deposit

Cash Deposit App with Golang, Angular 6, and PostgreSQL

Primary LanguageTypeScript

Cash Deposit App with Go, Apache Kafka, Angular 6, PostgreSQL, Docker, and Kubernetes

Steps to Run and Stop the Program

1. Run step 1 until 3 here

2. Run docker-compose up -d command in cash-deposit root directory

If everything goes well, the command will create and run cashdeposit_angular6-frontend and cash_deposit_go-docker images as well as run postgres image below:

3. Now you may check that those three apps are running as docker container

4. To stop and remove those three running containers, you could simply run docker-compose down

5. After these three images are created and you'd like to deploy them to kubernetes, you could do the following example

Use Cases:

Customer:

1. Customer accesses website via browser to deposit

2. Web browser makes request to the frontend app (Angular 6)

3. Frontend app makes request to the backend (Golang) by invoking the backend's RESTful web service

4. Web service (Kafka Producer) send data to the Kafka's topic (cash_deposit)

5. Kafka Consumer get data from Kafka's topic (cash_deposit) as well as sending data to the DB and mail via SMTP

6. DB send response data

7. Web service receive response data from DB and pass data to the frontend.

Bank Officer:

1. Bank officer accesses website via browser to get the transaction history of all customers or the related customer only

2. Web browser makes request to the frontend app (Angular 6)

3. Frontend app makes request to the backend (Golang) by invoking the backend's RESTful web service

4. Web service send request to DB

5. DB send response data

6. Web service receive response data from DB and pass data to the frontend.