Skip to content

charlesZanetti/API_REST_FULL_ADONIS_JS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Teste Prático Back-end BeTalent

Implementação de uma API RESTful de pagamentos multi-gateway desenvolvida com AdonisJS.

O objetivo do projeto é processar compras tentando os gateways por ordem de prioridade. Se o primeiro gateway falhar, a aplicação tenta o próximo. Quando algum gateway responde com sucesso, a API retorna sucesso para a compra.

Visão Geral

O código da aplicação está na pasta api-de-pagamento.

Principais pontos implementados:

  • autenticação com token
  • compra pública
  • fallback entre dois gateways
  • produtos, clientes, usuários e transações persistidos em banco
  • reembolso
  • controle de acesso por roles
  • testes automatizados
  • Docker Compose com app, MySQL e mocks dos gateways

Tecnologias

  • AdonisJS
  • TypeScript
  • Lucid ORM
  • VineJS
  • MySQL
  • Docker Compose
  • Japa

Estrutura do Repositório

  • api-de-pagamento: aplicação principal

Como Rodar

Opção 1. Rodar com Docker Compose

Entre na pasta da aplicação:

cd api-de-pagamento
docker compose up --build

API disponível em:

http://localhost:3333

Opção 2. Rodar localmente

Entre na pasta da aplicação:

cd api-de-pagamento
npm install
node ace migration:run
node ace db:seed
npm run dev

Testes

Na pasta da aplicação:

npm test

Rotas principais

Base URL:

/api/v1

Rotas públicas:

  • POST /auth/signup
  • POST /auth/login
  • GET /products
  • POST /purchases

Rotas privadas:

  • GET /gateways
  • PATCH /gateways/:id/toggle
  • PATCH /gateways/:id/priority
  • GET /users
  • POST /users
  • GET /clients
  • GET /clients/:id
  • GET /transactions
  • GET /transactions/:id
  • POST /transactions/:id/refund

O que foi implementado

  • cadastro, login e logout
  • compra com valor obtido a partir do produto salvo no banco
  • integração com dois gateways externos
  • fallback automático entre gateways
  • CRUD de produtos
  • CRUD de usuários
  • listagem de clientes
  • listagem e detalhe de transações
  • reembolso
  • testes dos fluxos críticos
  • ambiente com Docker Compose

Pendências

  • compra com múltiplos produtos e quantidades
  • cobertura de testes mais ampla para todos os endpoints
  • refinamentos extras de documentação

Documentação Técnica

O README técnico completo, com:

  • requisitos
  • instalação detalhada
  • detalhamento de rotas
  • dificuldades encontradas
  • implementações e pendências
  • notas sobre TDD

está em:

  • api-de-pagamento/README.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages