The project is based on a web service which uses the following technologies:
- Java 17
- Spring Boot
- Postgres SQL
- Maven
- Apache Kafka Queue
- Microservices
#REST APIs
- /customer (POST)
- /customer/complain (POST)
- /fraud/check (POST)
- /fraud/status (POST)
Uses feign client for communication of services
It can add or complain a customer. it can control by mail for customer is fraud when a customer add. it calls frand change service when complain a customer.
uri: http://localhost:8080/customer
method: POST
{
"firstName":"Ufuk",
"lastName":"Ünal",
"email":"ufukx@gmail.com"
}
uri: http://localhost:8080/customer/complain
method: POST
{
"customerId":"7abb1512-7a72-4dc8-baec-faa36dfb890d"
}
it can control for customer is fraud.
uri: http://localhost:8080/fraud/check
method: POST
{
"email":"ufukx@gmail.com"
}
it can listener to kafka queue and sends message when come a message to queue. it sends message when add a customer.
it can route reqests to the services
For deploy postgres and kafka without services in docker
-
docker-compose -f docker-compose-main.yml up
-
you can run services by manual in localhost
For deploy postgres, kafka and services in docker
-
docker-compose -f docker-compose-main.yml up
-
docker-compose -f docker-compose-services.yml up
