Skip to content

Aplicação desenvolvida para permitir um cadastro de pessoas com as operações de consulta, criação, edição e deleção de registros. Possui validação de CPF para pessoas físicas. Ao cadastrar o endereço da pessoa, o CEP busca automaticamente os dados de localização, caso estiverem corretos. Possui relatório em CSV das pessoas cadastradas.

Notifications You must be signed in to change notification settings

alvescamila87/api-cadastro-pessoa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cadastro de Pessoas integrado ao VIACEP

📄 Sobre o projeto

Aplicação desenvolvida para permitir um cadastro de pessoas com as operações de consulta, criação, edição e deleção de registros. Possui validação de CPF para pessoas físicas. Ao cadastrar o endereço da pessoa, o CEP busca automaticamente os dados de localização, caso estiverem corretos. Possui relatório em CSV das pessoas cadastradas.

🖇️ DER

Diagrama de Entidade e Relacionamento

image

📄 Informações técnics karen-javakaren-spring karen-spring

Este projeto foi desenvolvido utilizando Java com Spring Boot para o backend e Angular para o frontend. A aplicação é containerizada usando Docker e orquestrada com Docker Compose.

🔨 Stacks

  • Angular
  • Bootstrap
  • Java JDK 17
  • Spring
  • H2 in memory (para testes)
  • PostgreSQL (PROD)
  • Swagger Open API Documentation
  • Postman
  • Flyway
  • Docker
  • Docker Compose
  • Docker Hub
  • GitHub Projects

⚙️ Executando o backend

🖼️ Imagens Docker

📌 Requisitos

  • Docker
  • Docker Compose

⚙️ Configuração do Projeto

  1. Clone o repositório

    git clone https://github.com/alvescamila87/api-cadastro-pessoa.git
    cd api-cadastro-pessoa
    
  2. Executar via Docker compose

    docker-compose up
    

Acesso à aplicação

🚧 Para testes de Backend

Método POST (Salvar)

  • URL: http://localhost:9000/pessoas
  • Descrição: Cria uma nova pessoa. Caso o enderecoId não exista no banco de dados, a aplicação busca o endereço no ViaCEP e o salva.
  • Estrutura JSON do Body:
    {
        "nomeCompleto": "",
        "cpf": "",
        "telefone": "",
        "endereco": {
            "cep": "",
            "logradouro": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "localidade": "",
            "uf": "",
            "ibge": "",
            "gia": "",
            "ddd": "",
            "siafi": ""
        }
    }
    

Método GET (Busca por ID)

  • URL: http://localhost:9000/pessoas/{id}
  • Descrição: Retorna a pesssoa do ID fornecido.
  • Estrutura JSON retornada:
    {
        "id": 1,
        "nomeCompleto": "Zebedeu Abraão",
        "cpf": "02100000000",
        "telefone": "47-9999-5555",
        "endereco": {
            "id": 1,
            "cep": "00000-000",
            "logradouro": "Rua Israel",
            "numero": "7",
            "complemento": "Próximo à igreja",
            "bairro": "Europa",
            "localidade": "Blumenau",
            "uf": "SC",
            "ibge": "",
            "gia": "",
            "ddd": "",
            "siafi": ""
        }
    }

Método GET (Listar)

  • URL: http://localhost:9000/pessoas/
  • Descrição: Retorna a lista de todas as pessoas cadastradas.
  • Estrutura JSON retornada:
    [
         {
             "id": 1,
             "nomeCompleto": "Zebedeu Abraão",
             "cpf": "02100000000",
             "telefone": "47-9999-5555",
             "endereco": {
                 "id": 1,
                 "cep": "00000-000",
                 "logradouro": "Rua Israel",
                 "numero": "7",
                 "complemento": "Próximo à igreja",
                 "bairro": "Europa",
                 "localidade": "Blumenau",
                 "uf": "SC",
                 "ibge": "",
                 "gia": "",
                 "ddd": "",
                 "siafi": ""
             }
         }
     ]
    

Método DELETE (Excluir)

Método PUT (Atualizar)

  • URL: http://localhost:9000/pessoas/{id}
  • Descrição: Atualiza uma pessoa existente. Caso o enderecoId não exista no banco de dados, a aplicação busca o endereço no ViaCEP e o salva.
  • Estrutura JSON do Body:
    {
        "id": 1,
        "nomeCompleto": "",
        "cpf": "",
        "telefone": "",
        "endereco": {
            "cep": "",
            "logradouro": "",
            "numero": "",
            "complemento": "",
            "bairro": "",
            "localidade": "",
            "uf": "",
            "ibge": "",
            "gia": "",
            "ddd": "",
            "siafi": ""
        }
    }
    

📚 Documentação

JavaDoc

image

Swagger

image

Docker compose

image image

DockerHub

image

Kanban board

image

Imagens da aplicação:

Lista

image

Detalhes e edição

image image

Cadastrar pessoa

image

Relatorio CSV

image

🙋‍♀️ Autor

  • Camila Alves

About

Aplicação desenvolvida para permitir um cadastro de pessoas com as operações de consulta, criação, edição e deleção de registros. Possui validação de CPF para pessoas físicas. Ao cadastrar o endereço da pessoa, o CEP busca automaticamente os dados de localização, caso estiverem corretos. Possui relatório em CSV das pessoas cadastradas.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published