Este projeto é uma API REST desenvolvida com Laravel para a gestão de vendas e cálculo de comissões.
- PHP 8.x
- Laravel 10.x
- MySQL
- Docker
- PHPUnit (para testes automatizados)
- Arquitetura Limpa (Clean Architecture) com Repositories e Services
backend/
│── app/
│ ├── Models/ # Modelos do banco de dados (Seller, Sale)
│ ├── Repositories/ # Interface e implementação dos repositórios
│ ├── Services/ # Lógica de negócios para vendedores e vendas
│── routes/
│ ├── api.php # Rotas da API
│── database/
│ ├── migrations/ # Arquivos para criação de tabelas no banco
│── tests/ # Testes automatizados
│── docker-compose.yml # Configuração do Docker
│── .env.example # Arquivo de exemplo de configuração do ambiente
Copie o arquivo .env.example
para .env
e edite conforme necessário.
cp .env.example .env
docker-compose up -d
composer install
php artisan key:generate
php artisan migrate --seed
php artisan serve
A API estará disponível em http://localhost:8000
.
GET /api/sellers
→ Listar todos os vendedoresPOST /api/sellers
→ Criar um novo vendedorPUT /api/sellers/{seller_id}
-> Editar um vendedorDELETE /api/sellers/{seller_id}
-> Deletar um vendedorGET /api/sellers/{seller_id}
-> Listar um vendedorGET /api/sellers/{seller_id}/sales
-> Listar as vendas de um vendedor
GET /api/sales
→ Listar todas as vendasPOST /api/sales
→ Registrar uma nova vendaPUT /api/sales/{sale_id}
-> Editar uma vendaDELETE /api/sales/{sale_id}
-> Deletar uma vendaGET /api/sales/{sale_id}
-> Listar uma venda
Para rodar os testes unitários e de integração:
php artisan test