mcihan / transaction-report-service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Transaction Report Service

The Transaction Report Service consumes the PSP client API and delivers transaction reports.

Try out the API live using Swagger dashboard;

🚀 Live URL : https://transaction-report-service.onrender.com/swagger-ui/index.html (The server is a bit slow, and the opening may take some time)

Tech Stack

  • Java21
  • SpringBoot 3.1.5
  • Open API
  • MapStruct

About PSP Client API

  • The Transaction Report Service consumes the PSP client API and delivers transaction reports.
  • Following authorization to the PSP API, an access token is generated and remains valid for 10 minutes. -The Transaction Report Service caches this token for 9 minutes and 45 seconds (with a 15-second buffer to avoid using a stale token) and automatically adds it as an authorization header to each request for the PSP API through an interceptor.

Run/Testing the Application

img.png

Endpoints

img.png

Test & Coverage

  • Includes unit test and integration/api tests.

img.png

Coverage :

img.png

TODO

  • Add FeignClient decoder/deserializer for variousTransactionQueryResponse types.
  • api-key for secure service-to-service communication
  • Improve field types. and some fields still have underscores; remove the underscores.
  • Add fail test scenarios and improve coverage

About


Languages

Language:Java 99.5%Language:Dockerfile 0.5%