Skip to content

Expose services to citizen according to its pagoPA payment transactions

Notifications You must be signed in to change notification settings

pagopa/pagopa-biz-events-service

Repository files navigation

pagoPA Biz Events Service

Quality Gate Status

The microservice exposes REST APIs to get the list and the related detailed info regarding payment receipts.


Summary 📖


API Documentation 📖

See the OpenApi 3 here.


Technology Stack

  • Java 17
  • Spring Boot
  • Spring Web
  • Azure CosmosDB

Start Project Locally 🚀

Prerequisites

  • docker

Run docker container

from ./docker directory

sh ./run_docker.sh dev

ℹ️ Note: for PagoPa ACR is required the login az acr login -n <acr-name>


Develop Locally 💻

Prerequisites

  • git
  • maven
  • jdk-17

Run the project

Start the springboot application with this command:

mvn spring-boot:run -Dspring-boot.run.profiles=local

Spring Profiles

  • local: to develop locally.
  • default (no profile set): The application gets the properties from the environment (for Azure).

Testing 🧪

Unit testing

To run the Junit tests:

mvn clean verify

Integration testing

From ./integration-test/src

  1. yarn install
  2. yarn test

Performance testing

install k6 and then from ./performance-test/src run the tests. An example is given:

  1. k6 run --env VARS=local.environment.json --env TEST_TYPE=./test-types/load.json --env API_SUBSCRIPTION_KEY=<api-subkey> --env TOKENIZER_API_SUBSCRIPTION_KEY=<tokenizer-api-subkey> --env BIZ_COSMOS_ACCOUNT_PRIMARY_KEY=<biz-cosmos-pk> --env RECEIPT_COSMOS_ACCOUNT_PRIMARY_KEY=<receipt-cosmos-pk> --env STORAGE_ACCOUNT_PRIMARY_KEY= <storage-account-pk> get_pdf_receipt.js

Contributors 👥

Made with ❤️ by PagoPa S.p.A.

Mainteiners

See CODEOWNERS file