Skip to content

gustavocamalionti/cash-flow-api

Repository files navigation

CashFlow - API

Temos dois tipos de usuários: usuários regulares e lojista. Ambos possuem uma carteira com fundos. No entanto, a transferência só é permitida se o pagador não for lojista.

Tecnologias

  • PHP 8.1.
  • Laravel 10.10
  • Docker (MYSQL) com Laravel Sail.
  • Swagger.
  • Postman.
  • Eloquent ORM.

Estruturação e Lógica

  • Routes | Todas as rotas possuem prefixo v1, garantia de segurança se precisar de uma grande atualização.
  • Requests | Contém todas as regras de validações.
  • Controllers | Responsável por receber parâmetros, validar, chamar os Services e retornar uma resposta. Além disso, também podemos filtrar a consulta e/ou especificar quais atributos quero de retorno.
  • Services | Responsável pelas regras de negócio.
  • Repositories | Responsável em lidar com a MODEL.
  • Interfaces | Interfaces aplicadas nos dois métodos abstratos para Service e Repositories.
  • Jobs | foram criados 3 Jobs para garantir uma boa performace da API (Transação, Email Pagador e Email Recebedor.
  • ACID para as transações | Atomicidade, Consistência, Isolamento e Durabilidade das transações.

Arquitetura Geral - Fluxo de transação

cash-flow

Banco de Dados

database

Documentação

Ao executar o projeto, acesse a rota http://localhost/api/documentation e visualize de forma simplificada todos os endpoints da aplicação. documentacao-geral

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published