Este projeto segue uma arquitetura de microsserviços, promovendo escalabilidade e resiliência através de comunicação assíncrona. As principais tecnologias incluem:
- Hyperf (PHP): API Gateway principal, centralizando o fluxo de requisições e testes.
- MySQL: Banco relacional para garantir integridade de dados.
- Redis: Cache e controle de sessões.
- RabbitMQ: Sistema de mensageria para orquestração de eventos e aplicação do padrão Saga.
- Baseada em Event-Driven Architecture (EDA) com consistência eventual.
- Uso do padrão Saga para controle de transações distribuídas.
- Circuit Breaker previsto para isolamento de falhas em serviços externos.
- Separado por escopos de microsserviços: transferências, notificações, compensações e autenticação (futuramente).
A collection Postman contém os principais endpoints organizados por domínio e escopo da aplicação.
- Docker e Docker Compose
git clone https://github.com/SamuelLeutner/digital-wallet-api.git
cd digital-wallet-api cp .env-example .env docker compose build docker compose up -d docker compose exec api_gateway php bin/hyperf.php migrate --seed docker compose run --rm phpqa phpmd app text phpmd.xml | grep -v 'Deprecated' docker compose exec api_gateway composer test