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

https://github.com/paulopatto/payment-midleware-hono

O desafio é intermediar (integrar) requisições de pagamentos para serviços de processamento de pagamentos com a menor taxa financeira por transação. Haverá dois serviços Payment Processor: o default – com a taxa mais baixa – e o fallback que contém a taxa mais alta e deveria ser usado apenas quando o serviço default não estiver disponível.
https://github.com/paulopatto/payment-midleware-hono

bullmq github-actions honojs nodejs openapi redis rinha-de-backend typescirpt zod-validation

Last synced: 3 months ago
JSON representation

O desafio é intermediar (integrar) requisições de pagamentos para serviços de processamento de pagamentos com a menor taxa financeira por transação. Haverá dois serviços Payment Processor: o default – com a taxa mais baixa – e o fallback que contém a taxa mais alta e deveria ser usado apenas quando o serviço default não estiver disponível.

Awesome Lists containing this project

README

          

# Serviço de pagamentos

> Este projeto é parte da terceira edição da rinha de backend 2025 [site do evento](https://github.com/zanfranceschi/rinha-de-backend-2025)



Hono

## Stack

- [HonoJS](https://hono.dev/): Framework web leve para construir APIs.
- [TypeScript](https://www.typescriptlang.org/): Superset de JavaScript que adiciona tipagem estática.
- [Node.js](https://nodejs.org/en/): Ambiente de execução JavaScript. (LTS 22)

## Pré-requisitos

- [Node.js](https://nodejs.org/en/download/) (LTS 22)
- [npm](https://www.npmjs.com/) ou [yarn](https://yarnpkg.com/)

## Produção

Variaveis de ambiente necessárias:

- REDIS_URL
- PAYMENT_PROCESSOR_URL_DEFAULT
- PAYMENT_PROCESSOR_URL_FALLBACK

## Desenvolvimento

### Instalação

1. Clone o repositório:

```bash
git clone
cd rinha_ed3_payment

```

2. Instale as dependências:

```bash
npm install # ou yarn install
```

### Execução

Para executar o projeto em modo de desenvolvimento:

```bash
npm run dev # ou yarn dev
```

Isso iniciará o servidor usando `tsx watch src/index.ts` e reiniciará automaticamente em caso de alterações nos arquivos.

## Dependências

As dependências do projeto estão listadas no arquivo `package.json`.

- `hono`: Micro framework web
- `@hono/node-server`: Adaptador para executar o Hono em Node.js.
- `@hono/zod-openapi`: Integração do Zod com OpenAPI para Hono.
- `zod`: Biblioteca de declaração e validação de esquemas.
- `redisio`: Biblioteca para acesso ao memory database Redis