Mini ERP/CRM em PHP 8 + MySQL + RabbitMQ + Asaas

Role para baixo
2024
PHP 8 / MySQL / RabbitMQ / Docker / Asaas API
Dashboard ERP
Asaas - gateway
Login
Cadastro de Clientes

Sobre o Projeto

Objetivo

Projeto educacional demonstrando a construção de um Mini ERP/CRM completo usando PHP 8 sem framework, com autenticação por sessão, CRUD de clientes e pedidos, geração de cobranças via Asaas (PIX/Boleto/Cartão), publicação de eventos no RabbitMQ e worker consumidor para orquestração assíncrona. Arquitetura em camadas com MVC enxuto e containers Docker para ambiente completo.

Tools & Technologies

PHP 8.2 (Apache), MySQL 8, RabbitMQ 3 + Management UI, Docker & Docker Compose, Asaas API (sandbox/prod), php-amqplib/php-amqplib, Monolog, PDO, Sessions

Demonstração

Arquitetura, Funcionalidades e Desafios

Arquitetura em camadas com MVC enxuto: Controllers para lógica de fluxo (Auth, Client, Order, Payment), Models com PDO, Services para integrações externas (Asaas), Queue Publisher para RabbitMQ e worker separado para consumo de eventos.

Integração completa com Asaas API: criação automática de clientes, geração de cobranças (PIX, Boleto, Cartão), persistência dos dados retornados (invoiceUrl, pixQrCode, bankSlipUrl).

RabbitMQ para processamento assíncrono: publicação do evento 'order.created' ao criar pedido, exchange de tópico 'orders', worker consumidor (bin/worker.php) processando mensagens e simulando ações como envio de e-mail e atualização de estoque.

Autenticação com PHP nativo usando sessões, seções privadas protegidas por middleware simples e seed inicial de usuário admin (email: admin@example.com / senha: admin123).

Ambiente totalmente containerizado: Docker Compose orquestra PHP+Apache, MySQL, RabbitMQ e worker PHP dedicado. Facilita desenvolvimento, logs centralizados e isolamento de serviços.

Foco educacional em integrações: filas, webhooks futuros, eventos assíncronos, reconciliação de pagamentos e boas práticas na comunicação entre serviços dentro de um mini ecossistema distribuído.