Skip to content

wissensalt/spring-boot-event-driven

Repository files navigation

spring-boot-event-driven

Repository for spring-boot-event-driven

Module Description
API Gateway Gateway for load balancer (if needed)
Service Discovery Service to register sub modules (if needed)

Synchronous Process

Event Driven (Asynchronous) Process

Prerequisites

  • JDK 1.8
  • PostgreSQL : Create several database using database.sql file
  • Apache Kafka
# this will install java 1.8, zookeeper, and kafka $ brew install kafka # this will run ZK and kafka as services $ brew services start zookeeper $ brew services start kafka

How to run

  • Start Zookeeper, then Kafka
  • Open application.yml Configure Database based on your own installation
db: name : db_name host : db_host port : 5432 username : db_uname password : db_pass auto-reconnect : true ssl : false 
  • Run each main class using your own IDE as Spring Boot Application for order-api, customer-api, inventory-api, payment-api, product-api
  • When all services already run, send payload through Rest Client into http://localhost:8080/order/start using this payload
{	"transactionCode" : "01",	"customer" : {	"name" : "customer_01"	},	"order" : {	"totalPrice" : 5000.0,	"orderDetails" :[	{	"productId" : 1,	"quantity" : 1,	"price" : 5000.0	}	]	},	"payment" : {	"paymentTotal" : 5000.0,	"paymentType" : "cash",	"paymentStatus" : "paid"	} } 

DB Design

Database design available here : https://dbdiagram.io/d/5d43e562ced98361d6dd3d01

Releases

No releases published

Packages

No packages published