Crie uma simples App de meteorologia usando Node.js e a API OpenWeatherMap

6 Comentários

Tem um tempinho livre e quer aprender a desenvolver rapidamente uma app? Então vamos a isso! A proposta que temos para hoje consiste no desenvolvimento de uma pequena app de meteorologia usando para isso Node.js e a API OpenWeatherMap.

A nossa aplicação terá apenas 16 linhas de código! Não acreditam? Então vamos a isso!


Como referido, para este tutorial vamos necessitar essencialmente de duas coisas:

  • Node.js – É um interpretador de código JavaScript que funciona do lado do servidor. Esta plataforma permite aos programadores o desenvolvimento de aplicações em rede, em tempo real e de alta escalabilidade, de uma forma simples e rápida. O Node.js é baseado no interpretador V8 da Google
  • OpenWeatherMap – É um serviço que permite consultar informações climáticas. Este serviço tem disponível uma API público que nos permite aceder à informação climatérica de uma determinada cidade. A API irá devolver informação sobre a temperatura mínima, máxima, humidade e outras variáveis.

Para criar então uma simples App de meteorologia usando Node.js e a API OpenWeatherMap devem seguir os seguintes passos:

Passo 1 – Criar conta no site OpenWeatherMap

Para começar acedemos ao site OpenWeatherMap aqui e criamos uma conta de acesso.

Em seguida selecionamos o separador API Keys e vamos criar uma chave. Para tal, basta inserir no campo Name um nome que ficará associado à chave que for gerada.

O resultado será idêntico ao apresentado na imagem seguinte.

Uma vez criada a chave de acesso à API, vamos ao desenvolvimento da app que vai invocar a API do site OpenWeatherMap.

Passo 2 – Desenvolvimento da app

Uma vez que vamos desenvolver em NodeJS, é necessário ter o interpretador instalado no nosso sistema. Podem ver os tutoriais de instalação para Windows, Linux e macOS.

Para começar vamos criar então um diretório com o nome nodejs-weather e iniciamos o nosso projeto com o comando npm init. O resultado será algo semelhante ao apresentado na seguinte imagem.

O próximo passo é criar o ficheiro index.js. Agora que temos as “peças” todas, vamos juntá-las de forma a obter o output que pretendemos.

Invocar a API OpenWeatherMap

Vamos agora invocar a API OpenWeatherMap. Para tal podemos usar o popular módulo npm request. Para instalar este módulo basta executar o comando:

npm install request --save

Usar este módulo é relativamente simples. Para tal basta que o utilizador passe, como parâmetro, o URL e o modulo invoca o método na API e devolve o resultado.

Abram agora o ficheiro index.js e insiram o seguinte código:

let request = require('request');

let apiKey = '*****************************';
let cidade = 'Guarda';
let url = `http://api.openweathermap.org/data/2.5/weather?q=${cidade}&appid=${apiKey}&units=metric`

request(url, function (err, response, body) {
  if(err){
    console.log('error:', error);
  } else {
    console.log('body:', body);
  }
});

Breves Explicações

  • apiKey – Insiram a chave criada no OpenWeatherMap
  • cidade – Insiram o nome da Cidade para a qual pretendem obter informação climatérica
  • url: Invocação da API, onde passamos como parâmetros a cidade e a chave.

Depois de todos os passos anteriores realizados, vamos executar a aplicação e observar o resultado.

E está feito! Obviamente agora é necessário fazer um “parser” dos resultados. Esse tutorial será apresentado em breve! Caso tenham alguma dúvida ou questão relativamente a este tutorial, deixem as vossas questões em comentário.

Comentários

6

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Filipa Pinto
    Filipa Pinto

    Excelente

  2. Avatar de Douglas Dias
    Douglas Dias

    Muito obrigado! Acabei de conhecer o site e já vi muitas coisas que me serão úteis!
    Seu tutorial foi excelente, direto e preciso.
    Abraços do Brasil!

    1. Avatar de Pedro Pinto

      Obrigado Douglas. Fica ligado 🙂

  3. Avatar de AP
    AP

    “Crie uma simples App”

    Traduzido: importe 2 bibliotecas para um servidor web e passe 99% do tempo a configurar o servidor.

    Continuem assim, façam porcarias de apps web e nunca nada nativo, só me dão mais trabalho e rendimento 😀

    1. Avatar de Pedro Pinto

      Comentário de quem não percebe da coisa.

  4. Avatar de moedinha
    moedinha

    Depois de seguir o tutorial, dá sempre erro na api key :
    “body: {“cod”:401, “message”: “Invalid API key. Please see http://openweathermap.org/faq#error401 for more info.”}”

    Depois de contactar o suporte dizem :

    Please, take a note that history API and daily forecast are not available for free accounts

    🙁