Git Product home page Git Product logo

alura-lambdas-streams's Introduction

thumbnail-Desafio Java

Desafio

Vamos implementar uma aplicação para consultar o valor médio de veículos (carros, motos ou caminhões) de acordo com a tabela FIPE, que pode ser acessada através desse site.

  • A consulta aos valores dos veículos pelo site tem o seguinte fluxo:
  • Primeiramente é necessário escolher o tipo do veículo: carro, moto ou caminhão.

image

  • Depois disso, é necessário preencher a MARCA, MODELO e ANO para consulta.

image

  • Por fim, é exibida a avaliação apenas daquele ano escolhido.

    image

🔨 Objetivos do projeto

  • O objetivo do projeto é ter um fluxo similar ao que é feito no site, porém com algumas melhorias.
  • Criaremos um projeto Spring com linha de comando, utilizando a classe Scanner para fazer interações com o usuário via terminal.
  • Solicitaremos que o usuário digite o tipo de veículo desejado (carro, caminhão ou moto).
  • Feito isso, listaremos todas as marcas daquele tipo de veículo, solicitando que o usuário escolha uma marca pelo código.
  • Após essa escolha, listaremos todos os modelos de veículos daquela marca.
  • Solicitaremos que o usuário digite um trecho do modelo que ele quer visualizar, por exemplo PALIO.
  • Listaremos apenas os modelos que tiverem a palavra PALIO no nome.
  • Usuário escolherá um modelo específico pelo código e, diferente do site, já listaremos as avaliações para TODOS os anos disponíveis daquele modelo, retornando uma lista de forma similar à imagem abaixo:

image

Observações:

  • Para realização do desafio faremos o consumo de uma API, documentada nesse link.

  • De acordo com o escolhido (carro, moto, ou caminhão) vamos fazer uma chamada a um dos endpoints abaixo para buscar as marcas:

https://parallelum.com.br/fipe/api/v1/carros/marcas

https://parallelum.com.br/fipe/api/v1/motos/marcas

https://parallelum.com.br/fipe/api/v1/caminhoes/marcas

  • O retorno dessa requisição será uma lista com código e marca desejada. Caso o usuário queira por exemplo fazer uma consulta a modelos de carros da Fiat, que possui o código 21, terá que fazer uma nova requisição para o endpoint:

https://parallelum.com.br/fipe/api/v1/carros/marcas/21/modelos

  • Feito isso, irá escolher um código de modelo, por exemplo esse Palio Weekend Stile 1.6 mpi 16V 4p, representado pelo código 560. Então deverá fazer uma terceira requisição para o endpoint:

https://parallelum.com.br/fipe/api/v1/carros/marcas/21/modelos/560/anos

  • Para saber a avaliação para cada ano disponível, teremos que fazer requisições pelo código por ano, onde obteremos um retorno similar ao que é mostrado abaixo:

https://parallelum.com.br/fipe/api/v1/carros/marcas/21/modelos/560/anos/2003-1

image

  • Para podermos exibir em nossa aplicação as avaliações de todos os anos para esse modelo, será necessário trabalhar com as coleções e estruturas de repetição para poder exibir já todos as avaliações de todos os anos para o nosso usuário.
  • Utilize a biblioteca Jackson para a desserialização dos dados.
  • Modele as classes de acordo com o necessário para representar as marcas, modelos e dados dos veículos.
  • Relembre os conceitos vistos no curso para filtrar os modelos por um trecho do nome.

Bom desafio!

alura-lambdas-streams's People

Contributors

jacqueline-oliveira 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.