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.
- Host: GitHub
- URL: https://github.com/paulopatto/payment-midleware-hono
- Owner: paulopatto
- License: mit
- Created: 2025-07-09T18:07:05.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-08T17:56:48.000Z (11 months ago)
- Last Synced: 2025-08-08T19:39:56.491Z (11 months ago)
- Topics: bullmq, github-actions, honojs, nodejs, openapi, redis, rinha-de-backend, typescirpt, zod-validation
- Language: TypeScript
- Homepage:
- Size: 150 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)
## 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