{"repo":"marconi-prog/fintech-payment-api","free":true,"listed":false,"github":"https://github.com/marconi-prog/fintech-payment-api","clone":"git clone https://github.com/marconi-prog/fintech-payment-api.git","description":"Event-driven payment API built with Spring Boot, RabbitMQ, PostgreSQL and Docker.","language":"Java","stars":35,"topics":["docker","event-driven","fintech","java","jpa-hibernate","microservices","postgresql","rabbitmq","rest-api","spring-boot"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"Fintech Payment API A Payment API built with Spring Boot , using PostgreSQL , RabbitMQ , and Docker . This project demonstrates an Event-Driven Architecture (EDA) where order creation generates events that are sent to a message broker and processed asynchronously. --- Technologies - Java 21 - Spring Boot 3 - Spring Data JPA - PostgreSQL - RabbitMQ - Docker - Swagger / OpenAPI - Lombok - Maven --- Architecture The system follows an Event-Driven Architecture using RabbitMQ for asynchronous communication. It also follows a layered architecture , separating responsibilities into: - Controllers - Services - Repositories Project structure: Application Flow 1. Client sends a request to create an order 2. The order is stored in PostgreSQL 3. An OrderCreatedEvent is published to RabbitMQ 4. A consumer receives and processes the event Simplified flow: Features - Create orders - List orders - Update order status - Publish events to RabbitMQ - Consume events asynchronously - Global exception handling - API documentation with Swagger - Running the Project 2 Start containers This will start: - PostgreSQL - RabbitMQ 3 Run the application API Documentation Swagger UI available at: Endpoints Create Order POST /orders Request body: List Orders GET /orders Update Order Status PATCH /orders/{id}/status Available status values: Error Handling The application includes a Global Exception Handler to standardize error responses. Example response: Author Marconi Farias Backend Developer","default_branch":null,"files":null,"tree":[],"storefront":"/r/marconi-prog","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/marconi-prog/fintech-payment-api/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}