Skip to content

twinva1/devutils

Repository files navigation

Project Overview:

project image

This project serves as a foundation for developing commonly used and scalable products in real-world scenarios. It consists of a front-end service and three back-end services.

Services

  • UI

  • User service: Enables user creation, login, and retrieval of account information, utilizing the CrudRepository interface available in Spring Boot.

  • Expense service:

    1. Retrieves a list of expenses based on the provided query conditions, page number, and page size. using the Specification class from the Spring Data JPA.Swagger-API
    2. Expense application submission by users, with the ability to send MQ messages to the approver-queue.
    3. Approval or rejection of expense applications by the approver, with corresponding MQ messages sent to the applier-queue upon update.
  • Notification service:

    1. Catching MQ messages and triggering the sending of email notifications upon receiving messages from the approver-queue.
    2. Utilizing a CamelRouter to process emails when receiving messages from the applier-queue.
  • Load Balancer: nginx.conf

Environment

  • Amazon EC2 (ubuntu)
  • Amazon RDS (Postgres)
  • Amazon MQ (ActiveMQ)

CI/CD

CI/CD image

Jenkinsfile
[docker-compose.yml]

Scripts

# push images to dockerhub
./dockerhub-helper.sh -o push
bash dockerhub-helper.sh -o push

# pull images from dockerhub
./dockerhub-helper.sh -o pull
bash dockerhub-helper.sh -o pull

# clone all repositories and build images by docker-compose
./startup.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages