Loading repository data…
Loading repository data…
jhansenbarreto / repository
API implementada para teste técnico no processo seletivo da Attornatus Procuradoria Digital para a vaga de Desenvolvedor Back End - Java.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este projeto foi implementado na etapa do teste técnico no processo seletivo da
Attornatus Procuradoria Digitalpara a vaga deDesenvolvedor Back End - Java. Seguindo as especificações dadas no teste, o projeto é uma simples API destinada ao cadastro de Pessoas e Endereços, servindo as funcionalidades obrigatórias exigidas no teste e outras implementadas pelo desenvolvedor da API por decisão de projeto.
O projeto conta com o CRUD completo das seguintes entidades:
EstadosCidadesPessoasEndereçosA documentação completa do projeto foi feita utilizando as ferramentas da biblioteca Spring Doc, dependência do projeto, através do Swagger UI com as especificações do Open API 3.0, afim de prover maior entendimento para os consumidores da API. Para acessar a documentação, faça o clone do projeto para a sua máquina, inicie a aplicação (pode demorar um pouco, pois será feito o download das dependências na primeira vez) e após subir o serviço abra seu navegador e digite: http://localhost:8080/swagger-ui/index.html. Se preferir, os testes podem ser feitos na própria página da documentação, onde contém as explicações devidas para consumir cada endpoint.
:package: Estados:
:bulb: Detalhes: Não é permitido estados com dados duplicados, nomes só aceitam letras maiúsculas, minúsculas, acentuadas e espaços, UF só aceita 2 letras.
:package: Cidades:
:bulb: Detalhes: Nomes só aceitam letras maiúsculas, minúsculas, acentuadas e espaços.
:package: Pessoas:
:bulb: Detalhes: Nomes só aceitam letras maiúsculas, minúsculas, acentuadas e espaços. Data de nascimento no padrão yyyy-mm-dd
:package: Endereços:
:bulb: Detalhes: CEP aceita apenas 8 caracteres numéricos. Todo primeiro endereço cadastrado é marcado como principal automaticamente. Sempre que um endereço principal for excluído, caso ainda existam outros, o primeiro da lista se torna o novo principal.
Java 17Spring Boot 3Apache NetBeans IDE 15Banco de Dados em Memória (H2)Postman 10 (para testes práticos)JUnit 5 (para testes programáticos)Swagger UI / Open API 3 (para documentação)Padrão de Projeto DTO (Data Transfer Object)Modelagem com DDD (Domain-Driven Design)Comentários e Javadoc: Se for de seu interesse gerar o Javadoc do projeto, os comentários já foram escritos para facilitar o entendimento de algumas decisões tomadas durante a implementação.Dados de Teste: Para facilitar os testes, foi deixado no diretório src/main/resources um arquivo data.sql, utilizado para popular o banco de dados sempre que a aplicação for iniciada. Confira o arquivo clicando aqui. :bulb: ATENÇÃO: Os testes de integração desenvolvidos em JUnit 5 utilizam estes dados.Tratamento de Erros: A API conta com tratamento de erros e fornece ao consumidor um modelo de representação de erros baseado na especificação RFC 7807 (Problem Details for HTTP APIs), utilizando-a apenas como referência, não implementando totalmente à risca.| :technologist: Desenvolvedor | :globe_with_meridians: Links Úteis |
|---|---|
| Jhansen Barreto | GitHubLinkedInInstagram |