🛠️ Blank μ-service with Hex Arch, DDD, SAGA, Outbox&Kafka¶
For full code, visit this Repository.
⚠️ Replace [blank] word with your Domain Name ⚠️
Using Lg5 Spring 1.0.0-alpha
, JDK 21¶
🚀 Build project¶
Install 1/1: Setup JDK 21.
Install ½: Install the dependencies in your project.
🚀 Deploy with K8s¶
Use the infra repository blank-infra to deploy with K8s
📚Contents¶
- blank-acceptance-test
- blank-api
- blank-container
- blank-data-access
- blank-domain
- blank-external
- blank-message
🚀 Run locally¶
You can ...¶
Using makefile
Start with infrastructure¶
😀 To start the Kafka Cluster and Postgres.
⛔️ To the Kafka Cluster and Postgres stop or destroy:
Run APP¶
😀 To start the blank Service.
blank API 1.0.0-alpha
¶
Username:
None
Password:None
Database UI¶
Username:
blanksystem@db.com
Password:blanksystem-db
Kafka UI¶
Username:
None
Password:None
Contracts¶
AVRO MODELS from Avro Model definition¶
If you add a new Avro model, REMEMBER execute avro model again.
Logger & ELK¶
This project is prepared to send log files and process visualization with filebeat. You can specify the directory for stored the *.log files. Now, genera two file logs.
Simple log * [log.path]/[application_name]-simple.log
Complex log * [log.path]/[application_name]-complex.log
- Specify the directory with
log.path
property.
Simple: Simple details about application logs.
Complex: More details about application logs.
🧪 Testing Project¶
✅ Checkstyle ¼: configuration that checks the Google coding conventions from Google Java Style.
🧪 Running Unit Test 2/4: Using JUnit 5.
🌾 Running Integration Test ¾: Using Test Containers, JUnit 5 and Rest-Assured.
🥒Running Acceptance Test 4/4: Using Cucumber, Test Containers, JUnit 5 and Rest-Assured.
Interaction with tests one-to-one¶
🧪 Run a Unit Test
Details:make run-ut-spec TEST_NAME=[TestNameTest]
🌾Run an Integration Test
Details:make run-it-spec TEST_NAME=[TestNameTest|TestNameIT]
🥒 Run an Acceptance Test
Details:make run-at-spec TEST_NAME=[TestNameAcceptanceT]
⚠️ Any Test: Be careful, this option is slower.
Details:make run-test-spec TEST_NAME=[TestNameTest|TestNameIT|TestNameAcceptanceT]
🥒 Acceptance Test Report¶
You can show the Acceptance Test Report Online.
⚖️ License¶
The MIT License (MIT). Please see License for more information.