This is a credit application management project that uses credit score service project in order to get the customer's updated credit score whenever a customer applies for credit. Java is the projects's programming language and Spring Boot is the main framework for creating the projects. RabbitMQ as a message broker is used to provide communication between the projects during applications. I used RabbitMQ because an asynchronous communication would be more effective for the sake of interaction with the customers. Used Hibernate ORM to map the database and application objects properly.Postman is used to test endpoints and added a Postman collection here :
Used PostgreSQL as a relational database. Because I wanted to keep separate the business logic code from others, which is presentation layer with end points and the database ORM layer. In this way, anyone can both easily read and understand my code organization, also noone can not reach my business logic and this removes several vulnerabilities onto application. I also seperated the credit score service and credit application because even if they are dependent and share the same entity, credit score serviceis need to be away from customer interaction, it just can be used as an inner service, as a helpful service.
Credit application project runs at 8080
port, credit score service runs at 8085
port and RabbitMQ management port is 15672
.
This is the Swagger documentation path that can be reached all endpoints and examples :