Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pagopa/pagopa-gpd-payments-pull


https://github.com/pagopa/pagopa-gpd-payments-pull

pagopa-gpd

Last synced: about 18 hours ago
JSON representation

Awesome Lists containing this project

README

        

# pagoPA GPD Payments Pull

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=pagopa_pagopa-gpd-payments-pull&metric=alert_status)](https://sonarcloud.io/dashboard?id=pagopa_pagopa-gpd-payments-pull)

Expose APIs that will be used by IO to retrieve the list of the debtor positions.

---

## Summary ๐Ÿ“–

- [Api Documentation ๐Ÿ“–](#api-documentation-)
- [Technology Stack ๐Ÿ“š](#technology-stack-)
- [Start Project Locally ๐Ÿš€](#start-project-locally-)
* [Run locally with Docker](#run-locally-with-docker)
+ [Prerequisites](#prerequisites)
+ [Run docker container](#run-docker-container)
* [Running the application in dev mode](#running-the-application-in-dev-mode)
- [Develop Locally ๐Ÿ’ป](#develop-locally-)
* [Prerequisites](#prerequisites)
* [Testing ๐Ÿงช](#testing-)
+ [Unit test](#unit-test)
+ [Integration test [WIP]](#integration-test-wip)
+ [Performance test [WIP]](#performance-test-wip)
- [Contributors ๐Ÿ‘ฅ](#contributors-)
* [Maintainers](#maintainers)

---

## Api Documentation ๐Ÿ“–

See
the [OpenApi 3 here](https://editor.swagger.io/?url=https://raw.githubusercontent.com/pagopa/pagopa-gpd-payments-pull/main/openapi/openapi.json)

In local env typing following url on browser for ui interface:

```http://localhost:8080/q/swagger-ui```

or that for `yaml` version ```http://localhost:8080/q/openapi```

or that for `json` version ```http://localhost:8080/q/openapi?format=json```

---

## Technology Stack ๐Ÿ“š

- Java 17 Runtime Environment GraalVM CE
- [Quarkus](https://quarkus.io/)
- quarkus-resteasy-reactive
- quarkus-smallrye-health
- quarkus-smallrye-openapi
- quarkus-resteasy-reactive-jackson
- quarkus-hibernate-reactive-panache
- quarkus-reactive-pg-client
- reactor-netty
- lombok (provided)

---

## Start Project Locally ๐Ÿš€

### Running the application in dev mode

You can run your application in dev mode that enables live coding using:

```shell script
./mvnw compile quarkus:dev
```

> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only
> at http://localhost:8080/q/dev/.

### Run locally with Docker

#### Prerequisites

- docker

#### Set environment variables

`docker build -t pagopa-gpd-payments-pull .`

`cp .env.example .env`

and replace in `.env` with correct values

#### Run docker container

then type :

`docker run -p 8080:8080 --env-file=./.env pagopa-gpd-payments-pull`

## Develop Locally ๐Ÿ’ป

### Prerequisites

- git
- maven (v3.9.3)
- jdk-17

### Testing ๐Ÿงช

#### Unit test

Typing `mvn clean verify`

#### Integration test [WIP]

- Run the application
- Install dependencies: `yarn install`
- Run the test: `yarn test`

#### Performance test

- Run the application
- Run the test: `sh run_performance_test.sh local `

---

## Contributors ๐Ÿ‘ฅ

Made with โค๏ธ by PagoPa S.p.A.

### Maintainers

See `CODEOWNERS` file