Skip to content

JaineSantos0/sgclients

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Gerenciamento de Clientes

Descrição

Este é um sistema de gerenciamento de clientes que permite realizar operações básicas de CRUD (Criar, Buscar, Atualizar, Deletar) em um banco de dados de clientes. A aplicação inclui a funcionalidade de busca paginada de clientes, busca por ID, inserção de novos clientes, atualização e exclusão de clientes. A aplicação segue uma arquitetura RESTful e utiliza o banco de dados H2 para armazenamento de dados.

Funcionalidades

  • Busca Paginada de Clientes: Permite buscar clientes com paginação e ordenação.
  • Busca de Cliente por ID: Recupera os detalhes de um cliente específico.
  • Inserção de Cliente: Adiciona um novo cliente ao sistema.
  • Atualização de Cliente: Atualiza as informações de um cliente existente.
  • Deleção de Cliente: Remove um cliente do sistema.
  • Validação de Dados: Verifica que o nome não pode ser vazio e que a data de nascimento não pode ser futura.
  • Tratamento de Exceções: Gera respostas apropriadas para erros, como 404 para ID não encontrado e 422 para erros de validação.

Tecnologias Utilizadas

  • Java 17
  • Spring Boot 3
  • H2 Database (para desenvolvimento e testes)
  • JPA / Hibernate (para persistência de dados)
  • Maven (para gerenciamento de dependências)

Requisitos

  • JDK 17+
  • Maven 3.8+

Configuração do Ambiente de Desenvolvimento

Clone o repositório:

git clone https://github.com/JaineSantos0/sgclients.git

Compile e rode a aplicação:

mvn clean install
mvn spring-boot:run

Acessando o Console H2:

Endpoints

Client

  • POST /clients - Cria um novo cliente.
  • GET /clients - Retorna todos os clientes com paginação.
  • GET /clients/{id} - Retorna um cliente específico pelo ID.
  • PUT /clients/{id} - Atualiza um cliente existente.
  • DELETE /clients/{id} - Remove um cliente.

Estrutura do Projeto


├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── sgtarefas/
│   │   │       ├── controllers/
│   │   │       │   └── handlers/
│   │   │       ├── dto/
│   │   │       ├── entities/
│   │   │       ├── repositories/
│   │   │       ├── services/
│   │   │       │   └── exceptions/
│   │   │       └── SgtarefasApplication.java
│   │   ├── resources/
│   │   │   ├── application.properties
│   │   │   └── application-dev.properties

Autor

Nome do Autor: Jaine Santos
Email: jainejosiane@gmail.com

About

Desafio sistema de gerenciamento de clientes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages