https://github.com/johnenderson/customerconnect
https://github.com/johnenderson/customerconnect
mysql spring-boot-3 spring-boot-docker-compose spring-data-jpa
Last synced: 30 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/johnenderson/customerconnect
- Owner: johnenderson
- Created: 2024-11-17T23:25:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-28T17:55:00.000Z (over 1 year ago)
- Last Synced: 2025-02-25T10:51:34.298Z (over 1 year ago)
- Topics: mysql, spring-boot-3, spring-boot-docker-compose, spring-data-jpa
- Language: Java
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CustomerConnect
Bem-vindo ao **CustomerConnect**, um projeto envolvente e prático projetado para ajudá-lo a dominar os fundamentos do Spring Boot e do Spring Data JPA. Neste projeto, você criará um robusto Sistema de Gerenciamento de Clientes que executa operações CRUD em uma entidade Cliente.
## Regras de Negócio
### Dados Cadastrais
Precisamos das seguintes informações principais de nossos clientes:
- **Nome Completo**
- **CPF**
- **Email**
- **Telefone Celular**
- **Data de registro e atualização** do cliente no sistema para fins de auditoria.
### Cadastro Único
- Garantir que não existam clientes com ID, CPF ou email repetidos.
### Busca Flexível e Personalizada
- Permitir **paginação** e **ordenação** de resultados.
- Permitir **busca por CPF** e/ou **email**.
## Endpoints REST
### `POST /customers`
Endpoint para o cadastro de clientes.
#### Parâmetros Requeridos
- `fullName` (string): Nome completo do cliente.
- `cpf` (string): CPF do cliente.
- `email` (string): Email do cliente.
- `phoneNumber` (string): Telefone celular.
#### Retorno
- `customerId` (string): Identificador único do cliente no sistema.
---
### `GET /customers`
Endpoint para consulta de clientes cadastrados.
#### Parâmetros de Consulta
- `page` (integer): Número da página.
- `pageSize` (integer): Quantidade de itens retornados por página.
- `orderBy` (string): Ordenação dos clientes pela data de criação.
- `email` (string): Busca cliente pelo email.
- `cpf` (string): Busca cliente pelo CPF.
#### Retorno
- Dados dos clientes e informações de paginação.
---
### `PUT /customers/{customerId}`
Endpoint para atualizar as informações de um cliente.
#### Parâmetros Requeridos
- `fullName` (string): Nome completo do cliente.
- `email` (string): Email do cliente.
- `phoneNumber` (string): Telefone celular.
---
### `DELETE /customers/{customerId}`
Endpoint para excluir um cliente do cadastro.
---
## Tecnologias Utilizadas
- **Spring Boot**
- **Spring Data JPA**
- **H2 Database** (para testes e desenvolvimento)
- **Maven** (gerenciador de dependências)
---
## Como Executar o Projeto
1. Clone este repositório:
```bash
git clone git@github.com:johnenderson/customerConnect.git
cd customerconnect
```
2. Execute o projeto:
```bash
mvn spring-boot:run
```