Skip to content

emanuel-batista/SpringBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Gestão de Clientes - Monorepo

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.

📁 Estrutura do Projeto

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

🛠️ Como Executar o Projeto Localmente

1. Banco de Dados (MongoDB)

O banco de dados é executado em um container Docker único para isolamento.

Na pasta gestao-clientes-springboot, execute:

docker compose up -d

Isso iniciará um container chamado mongodb-gestao-clientes rodando na porta 27017 com dois bancos de dados lógicos configurados automaticamente: ClienteDB e TermoUsoDB.

2. Backend (Spring Boot)

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:run

API de Clientes (Porta 8081):

cd gestao-clientes-springboot/APICliente
mvn spring-boot:run

3. Frontend (Interface do Usuário)

O frontend pode ser aberto de duas formas:

  1. Servidor Local (Recomendado): Execute um servidor HTTP simples na pasta front-gestao-clientes. Se você possui o Node.js instalado, pode executar:
    npx http-server -p 8080
    Depois abra o endereço http://localhost:8080 no seu navegador.
  2. Abertura Direta: Basta dar duplo clique no arquivo index.html na pasta front-gestao-clientes para abri-lo diretamente no navegador.

📖 Endpoints das APIs

📜 API de Termos de Uso (Porta 8082)

  • 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
      }
  • Listar Todos os Termos:

    • Método: GET
    • Endpoint: /termos-uso

👤 API de Clientes (Porta 8081)

  • 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
      }
  • Listar Todos os Clientes:

    • Método: GET
    • Endpoint: /clientes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors