iv_ ← Todos os projetosEN ↗
Estudos web — APIs e estados / Estudo pessoal de frontend

Clima

Uma consulta de cidade transformada em estado de interface.

HTMLCSSJavaScriptFetch APIJSONWeatherAPI
ENGENHARIA / EVIDÊNCIASImplementação inspecionada

Fluxo resumido a partir da implementação revisada. Os detalhes e limites estão nas seções abaixo; esta visualização não é screenshot de produção ou prova de desempenho medido.

01Cidade
02requisição HTTP
03JSON
04atualização da interface
05feedback
01

Proposta do estudo

Clima é uma página de consulta meteorológica por cidade, construída com HTML, CSS e JavaScript. O projeto explora uma interação completa: receber uma busca, solicitar dados e atualizar a apresentação.

A informação vem de uma API externa. O case trata consumo de serviço e experiência visual, não modelagem ou produção de previsões meteorológicas próprias.

02

Entrada e requisição

Eventos de clique e tecla Enter iniciam a consulta. O texto da cidade é validado e codificado para uso na URL; fetch realiza a chamada assíncrona e verifica a resposta antes do parsing JSON.

O código também carrega uma cidade inicial. Esses pontos conectam eventos de DOM e fluxo de dados, permitindo estudar a diferença entre entrada vazia, resposta inválida e resultado utilizável.

03

Transformação e apresentação

A resposta separa localização e condições atuais. A interface atualiza nome da cidade, horário e informações meteorológicas, usando textContent e formatação temporal para apresentar os valores.

Essa transformação evidencia um contrato entre o JSON recebido e elementos da página. Mudanças do provedor podem quebrar esse contrato; parsing mais defensivo e testes de fixtures seriam extensões úteis.

04

Carregamento e erros

Funções controlam loading, feedback e atualização de conteúdo. try/catch/finally organiza a conclusão da consulta mesmo em falhas, para que o estado visual não permaneça indefinidamente carregando.

Uma evolução pode cancelar buscas antigas e evitar que uma resposta lenta substitua uma consulta mais recente. O fluxo atual é um estudo simples, sem coordenação avançada de requisições concorrentes.

05

CSS e superfície de configuração

O CSS inclui estados de hover, transições e keyframes para entrada, erro e carregamento. Esses efeitos associam movimento a estados de interação com baixo custo de implementação.

A integração usa configuração no cliente. Uma versão pública precisa avaliar restrições de acesso e mover segredos para um backend quando necessário; nenhum valor de chave é reproduzido neste case.

06

Competências e evolução

O estudo demonstra DOM, eventos, async/await, HTTP, JSON, tratamento de falhas e feedback visual. A análise verificou o código sem consultar o provedor ou medir desempenho da API.

Próximos passos incluem configuração protegida, cancelamento, cache por cidade, acessibilidade de feedback e testes do parsing. O repositório público permite acompanhar o exercício.

Explorar o repositório público ↗