Skip to content

shelcicky/zipcode-retrieval-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zipcode Retrieval Validator

Este projeto tem como objetivo ser um objeto de estudo/exemplo no que diz respeito à testes unitários e/ou integrados. O mesmo consome a API do site ViaCEP.

Cenário de funcionamento previsto:

De forma resumida, ao ser imputado um cep no controller, a app validará se o mesmo é válido;
    Caso não seja válido, retornará o status code "400" no controller;
    Caso seja válido, ocorrerá uma busca no banco de dados;

Se existir um registro no banco de dados para o cep em questão, será retornado um json para o controller;

Em caso negativo, será realizado uma busca na api do ViaCEP.
    Se o cep for encontrado, o dado será persistido no banco e, posteriormente, retornado para o controller;
    Se o cep não for encontrado, será retornado o status code "404" no controller;

🚀 Get Started

📋 Pré-requisitos

-Java 21+;
-MySQL 9.0.0;

Para validar se o Java está instalado e devidamente configurado no ambiente, execute o seguinte comando:

java -version

O resultado deve ser algo semelhante com o texto abaixo:

openjdk version "21.0.2" 2024-01-16
OpenJDK Runtime Environment (build 21.0.2+13-58)
OpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode, sharing)

🔧 Instalação

Faça o clone do repositório

git clone git@github.com:shelcicky/zipcode-retrieval-validator.git

Acesse o diretório do projeto recém clonado:

cd zipcode-retrieval-validator

Instale as dependências do projeto:

./gradlew clean build

Para ambientes Windows, pode ser necessário remover o ./ da instrução acima.

⚙️ Executando o projeto

- Execute o seguinte comando no diretório raiz do projeto, substituindo o valor de $(port) pela porta http que deseja "subir" a aplicação.

Exemplo:

./gradlew build bootRun -Dserver.port=$(port)
./gradlew build bootRun -Dserver.port=8080

É necessário que uma instância do MySQL esteva respondendo em localhost:3306, com as seguintes credenciais:
username: root
password: root

Caso não seja possível, atualize as informações no arquivo: application.yml presente no seguinte path: src/main/resources/;

🛠️ Construído com

  • Java - Linguagem de programação;
  • Spring - Framework que simplifica o desenvolvimento de aplicações Java;
  • MySQL - Sistema de gerenciamento de banco de dados relacional de código aberto.

✒️ Autor

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages