Este projeto é um sistema de Gestão de Clientes composto por dois serviços de backend desenvolvidos em Spring Boot (Java) com banco de dados MongoDB, e uma interface de usuário desenvolvida com HTML, CSS e JavaScript puros.
O workspace está organizado da seguinte forma:
SpringBoot/
├── front-gestao-clientes/ # Interface do Usuário (Frontend HTML/CSS/JS)
│ ├── index.html
│ ├── script.js
│ └── style.css
├── gestao-clientes-springboot/ # Backend APIs
│ ├── APICliente/ # API de Gestão de Clientes (Porta 8081)
│ ├── APITermoUso/ # API de Termos de Uso (Porta 8082)
│ └── docker-compose.yml # Container MongoDB
└── README.md # Este arquivo
O banco de dados é executado em um container Docker único para isolamento.
Na pasta gestao-clientes-springboot, execute:
docker compose up -dIsso iniciará um container chamado mongodb-gestao-clientes rodando na porta 27017 com dois bancos de dados lógicos configurados automaticamente: ClienteDB e TermoUsoDB.
Certifique-se de que possui o Java 17+ instalado. Cada API deve ser iniciada separadamente.
API de Termos de Uso (Porta 8082):
cd gestao-clientes-springboot/APITermoUso
mvn spring-boot:runAPI de Clientes (Porta 8081):
cd gestao-clientes-springboot/APICliente
mvn spring-boot:runO frontend pode ser aberto de duas formas:
- Servidor Local (Recomendado):
Execute um servidor HTTP simples na pasta
front-gestao-clientes. Se você possui o Node.js instalado, pode executar:Depois abra o endereço http://localhost:8080 no seu navegador.npx http-server -p 8080
- Abertura Direta:
Basta dar duplo clique no arquivo
index.htmlna pastafront-gestao-clientespara abri-lo diretamente no navegador.
-
Cadastrar Termo de Uso:
- Método:
POST - Endpoint:
/termos-uso - Corpo da Requisição (JSON):
{ "descricao": "Termo de uso versão 1.0", "data": "2026-04-30", "status": true }
- Método:
-
Listar Todos os Termos:
- Método:
GET - Endpoint:
/termos-uso
- Método:
-
Cadastrar Cliente:
- Método:
POST - Endpoint:
/clientes - Corpo da Requisição (JSON):
{ "nome": "João Silva", "telefone": "(16) 99999-9999", "email": "joao@email.com", "termoUso": true }
- Método:
-
Listar Todos os Clientes:
- Método:
GET - Endpoint:
/clientes
- Método: