Giter VIP home page Giter VIP logo

apicidades's Introduction

Sistema de consulta de cidades em API REST com Spring Boot

Este API foi desenvolvido em aula proporcionada pela Digital Innovation One, através do desenvolvedor André Gomes.

Em relação ao projeto desenvolvido em aula, fiz os seguintes acréscimos:


Acrescentei uma camada de serviço para todas as chamadas da Controller;

Simplifiquei os métodos apresentados (GETs), com a finalidade de melhor compreensão do processo de desenvolvimento da API, sem prejudicar nenhuma funcionalidade;

Acrescentei filtros de busca por nome de cidade, com a possibilidade de filtro pela própria aplicação e também com query do próprio banco de dados Postgre, como forma de exercitar as duas opções, sabendo-se que a opção de fazê-lo pelo banco de dados é mais eficiente pois não há necessidade de carregar a tabela completa de cidades para então filtrar a lista;

Na opção de cálculo da distância, refatorei o método para retornar apenas pelo modelo matemático e em quilômetros a distância entre duas cidades, aproveitando o método já criado para busca por Id, dentro do próprio Service (AcessoDB);

As tabelas para popular o banco de dados podem ser encontradas no repositório a seguir:

https://github.com/chinnonsantos/sql-paises-estados-cidades/tree/master/PostgreSQL

Para popular a tabela de cidades, sugiro utilizar o pgAdmin, clicando com o botão direito do mouse na tabela e na opção Importar. Os dados devem estar salvos em .CSV ou text (Encoding UTF8 funcionou perfeitamente).

O desenvolvimento desta API trouxe vários desafios e aprendizado, aprimorando o conhecimento de JPA, conexão com o banco de dados Postgre, utilização de Queries, importação de dados de arquivos e API Rest.


Pré-requisitos para a execução do projeto:

  • Java 11 ou versões superiores;
  • Gradle;
  • Intellj IDEA Community Edition ou outra IDE;
  • Postgre instalado ou no Docker e rodando no localhost.

apicidades's People

Contributors

rafagnim avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.