Sistema completo de gerenciamento de clientes com painel administrativo, CRUD via API RESTful, e interface web com Blade e Bootstrap. Projeto pronto para rodar com Docker e configuração automatizada via entrypoint.sh.
- PHP 8.2
- Laravel 11
- Composer
- Blade + Bootstrap 5
- TailwindCSS (suporte adicional)
- Consumo de dados via API RESTful
- MySQL 8.0 via Docker
- Docker
- Docker Compose
- Script
entrypoint.shpara provisionamento automático
git clone https://github.com/seu-usuario/client-manager.git
cd client-managerO ambiente está totalmente automatizado via entrypoint.sh. Ao subir os containers, os seguintes passos ocorrerão automaticamente:
- Criação do arquivo
.enva partir do.env.example - Aguardar o banco de dados estar pronto
- Instalar as dependências do Composer
- Gerar a chave da aplicação
- Rodar as migrations e seeders
- Iniciar o servidor Laravel na porta
8000
docker-compose up -d --buildAcesse no navegador:
http://localhost:8000
A API está disponível sob o prefixo /api/v1.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/v1/ping |
Verifica se a API está ativa |
| GET | /api/v1/cidades |
Lista todas as cidades |
| GET | /api/v1/cidades/{id} |
Exibe detalhes de uma cidade |
| GET | /api/v1/cidades/{id}/representantes |
Lista representantes de uma cidade |
| POST | /api/v1/cidades |
Cria uma nova cidade |
| PUT | /api/v1/cidades/{id} |
Atualiza dados da cidade |
| DELETE | /api/v1/cidades/{id} |
Remove uma cidade |
| GET | /api/v1/clientes |
Lista todos os clientes |
| GET | /api/v1/clientes/{id} |
Detalhes de um cliente |
| GET | /api/v1/clientes/{id}/representantes |
Lista representantes de um cliente |
| POST | /api/v1/clientes |
Cria um novo cliente |
| PUT | /api/v1/clientes/{id} |
Atualiza dados do cliente |
| DELETE | /api/v1/clientes/{id} |
Remove um cliente |
Todos os endpoints retornam dados em JSON. A autenticação não é exigida por padrão.
A interface web consome os dados da API RESTful e é renderizada com Blade.
| Caminho | Controller | Descrição |
|---|---|---|
/ |
ViewClienteController@index |
Lista de clientes |
/clientes/criar |
ViewClienteController@create |
Formulário de cadastro |
Disponíveis no diretório /scripts:
representantes_por_cliente.sqlrepresentantes_por_cidade.sqlestrutura_banco.sql– DDL completo do banco