A Sample Accounting Workspace Project with Spring Boot 3.0.6, JDK 17 & Maven that is implemented with Microservices Architecture.
Services are developed in the following modules:
- Accounting Manager - Accounting Manager Service in order to manage accounting related functionalities.
- API Gateway - API Gateway Service in order to manage & route API call related functionalities.
- Service Discovery - Service Discovery Service in order to discover other services.
For the contributor covenant to this project, please check the Code of Conduct file.
Please check the Contributors List to see who makes this open-source alive.
For building and running the application belows are required;
- Spring Boot 3.0.6
- JDK 17
- Maven 3.8.x or above
- PostgreSQL
- Flyway Migration
- Eureka Client
- Spring Cloud API Gateway
- Spring Boot Actuator
Below version control standards should be followed within the project;
- The default branch is staging branch.
- Feature enhancements or defect fixes should not be committed to the default branch, they should be coded in feature or bug branches.
- Issues should be created for each feature or fix in the Accounting Workspace GitHub Repository Project.
- Pull request (PR) should be created for each feature/bug branch to staging branch.
- While creating a PR "[Feature]: ", "[Bug]: " or "[Doc]: " prefix should be used to identify the PR type.
- PRs should be linked with a valid issue in the Accounting Workspace GitHub Repository Project.
- If validations are passed in the staging branch, then a merge branch request is created with "merge branch" label & a linked PR to the main branch.
You need to follow below steps in order to run the project. You can build docker images and then run them as docker containers or you can run the services directly via your IDE like JetBrains' IntelliJ IDEA.
- Start your Postgres Database. You can directly use postgres docker image to run your DB.
docker pull postgres
docker run --name accounting-workspace-db -e POSTGRES_PASSWORD=admin -e POSTGRES_USER=admin -d -p 5432:5432 postgres
- Then, you need to create accounting-manager-db and accounting-manager schema within this DB.
- As accounting-manager service uses Flyway DB Migration, all related DDLs and DMLs will be created automatically when the service is booted.
- Then, start below services in the given order;
- Service Discovery
- API Gateway
- Accounting Manager
- Then, check the Postman Collection file and you can use the APIs within the Accounting Manager folder.
You can find the postman collection within this file.
GNU General Public License v3.0 Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. Please check the LICENSE file for more details.