Neste primeiro projeto desenvolvido através do Bootcamp promovido pela NTT Data - Quality Assurance Beginner #3 em parceria com a Digital Innovation One e com participação dos intrutores Denilson Bonatti, Lucas Alves, Akinely Reis, Rui Rodrigues, André Gomes e toda a excelente equipe que disponibilizou tempo, dedicação, e sobretudo experiência na transmissão dos conteúdos e que nos propocionou agregar conhecimento e nos permitir adentrar na produção e desenvolvimento de uma API Rest do zero para consultar as distâncias das cidades do Brasil. Neste projeto nos deparamos com uma série de requisitos na qual tivemos por algumas ocasiões o primeiro contato, nos levando a começar a entender, explorar e integrar cada ferramenta.
- Configuração e instalação da IntelliJ IDEA e o uso de java;
- A utilização do spring boot através do Spring Initializr, a utilização do Gradle, as configurações das properties e injeção das dependências;
- A utilização e configuração do Docker Desktop para utilização dos containers e a transmissão do banco de dados para dentro do container com Postgres;
- O uso do Postman (uso do formato JSON) e do Heroku (banco de dados na nuvem).
- As boas práticas de utilização do Git;
Apesar do projeto final ser demonstrado com a a utilização de LInux, pudemos realizá-lo em ambiente Windows executando com Power Shell, bastando por algumas vezes buscar o conhecimento além do disponibilizado na plataforma e não o bastante as aulas de cursos fora deste Bootcamp porém dentro da plataforma DIO nos fundamentou para o continuo aprendizado.
Foi muito proveitoso aprender e desenvolver a API acompanhando as instruções, entendendo e reproduzindo em nossa máquina local e na nuvem e nos permitindo vislumbrar o quão as tecnologias integradas podem ampliar e facilitar o desenvolvimentos de grandes projetos.
Deixo abaixo o README do instutor para consultas futuras.
- Linux
- Git
- Java 8
- Docker
- IntelliJ Community
- Heroku CLI
docker run --name cities-db -d -p 5432:5432 -e POSTGRES_USER=postgres_user_city -e POSTGRES_PASSWORD=super_password -e POSTGRES_DB=cities postgres
cd ~/workspace/sql-paises-estados-cidades/PostgreSQL
docker run -it --rm --net=host -v $PWD:/tmp postgres /bin/bash
psql -h localhost -U postgres_user_city cities -f /tmp/pais.sql
psql -h localhost -U postgres_user_city cities -f /tmp/estado.sql
psql -h localhost -U postgres_user_city cities -f /tmp/cidade.sql
psql -h localhost -U postgres_user_city cities
CREATE EXTENSION cube;
CREATE EXTENSION earthdistance;
- Postgres Earth distance
- earthdistance--1.0--1.1.sql
- OPERATOR <@>
- postgrescheatsheet
- datatype-geometric
docker exec -it cities-db /bin/bash
psql -U postgres_user_city cities
Point
select ((select lat_lon from cidade where id = 4929) <@> (select lat_lon from cidade where id=5254)) as distance;
Cube
select earth_distance(
ll_to_earth(-21.95840072631836,-47.98820114135742),
ll_to_earth(-22.01740074157715,-47.88600158691406)
) as distance;
-
Java 8
-
Gradle Project
-
Jar
-
Spring Web
-
Spring Data JPA
-
PostgreSQL Driver
- https://checkstyle.org/
- https://checkstyle.org/google_style.html
- http://google.github.io/styleguide/javaguide.html
wget https://raw.githubusercontent.com/checkstyle/checkstyle/master/src/main/resources/google_checks.xml