Estudo de caso · 02
Marques Payments API
API REST orientada a pagamentos
Projeto backend público para explorar arquitetura de APIs, transações e processamento de eventos externos.
POST /orders
{
"items": [{
"productId": "uuid",
"quantity": 2
}],
"payment": {
"method": "PIX"
}
}Visão geral
API REST para gestão de produtos, clientes, pedidos e pagamentos, construída com Node.js, TypeScript, Express, PostgreSQL e Prisma.
Contexto e objetivo
O projeto simula o backend de um pequeno comércio para tornar minhas habilidades de backend inspecionáveis: catálogo, criação de pedidos, transações e atualizações assíncronas de pagamento.
Minha atuação
Projetei e desenvolvi o projeto de forma independente, cobrindo API, regras de negócio, dados relacionais, documentação, testes e o ambiente de desenvolvimento com Docker.
O que desenvolvi
- Endpoints REST para criação, listagem, atualização e remoção de produtos.
- Criação de pedidos com validação dos produtos e cálculo do total no backend.
- Fluxos de pagamento via PIX e cartão com estados pendente, aprovado e recusado.
- Processamento de webhooks para atualizações assíncronas do pagamento.
- Validações com Zod e documentação Swagger/OpenAPI.
- Persistência no PostgreSQL por meio do Prisma e banco de desenvolvimento via Docker.
- Testes automatizados usando Vitest.
Decisões técnicas
O total do pedido é calculado a partir dos preços persistidos, sem confiar em valores enviados pelo cliente. O estado do pagamento é modelado separadamente e o webhook atualiza o pedido relacionado quando o resultado assíncrono chega.
Por que o projeto é público
O repositório inclui instruções de execução, documentação dos endpoints e código-fonte para que recrutadores e outros engenheiros possam avaliar uma implementação real.
Stack
Tecnologias utilizadas
- Node.js
- TypeScript
- Express
- PostgreSQL
- Prisma
- Docker
- Vitest
- Zod
- Swagger