O App de Clima é uma aplicação web que permite buscar o clima de uma cidade em tempo real, utilizando a Open-Meteo API.
O projeto foi desenvolvido com fins educacionais, simulando uma aplicação real, com foco em:
- integração com APIs externas
- manipulação de DOM
- organização de código
- tratamento de erros
- testes automatizados com Jest
A aplicação oferece uma experiência simples e intuitiva, com suporte a diferentes dispositivos e modo noturno automático.
A aplicação foi construída utilizando JavaScript puro (Vanilla JS), sem frameworks, seguindo boas práticas de desenvolvimento frontend.
Ela permite ao usuário:
- buscar uma cidade
- visualizar temperatura e clima atual
- navegar entre telas
- receber feedback em caso de erro
- Busca de clima por cidade
- Exibição da temperatura atual
- Descrição do clima (ex: nublado, chuva, céu limpo)
- Ícones dinâmicos baseados nas condições climáticas
- Tratamento de erros:
- input vazio
- cidade não encontrada
- Modo noturno automático baseado no horário
- Layout responsivo (desktop, tablet e mobile)
- Navegação entre telas (inicial e resultado)
- Testes automatizados com Jest
O projeto conta com testes utilizando Jest + jsdom, validando:
- comportamento da interface
- validação de input
- fluxo de busca
- tratamento de erro
- atualização dinâmica da UI
- troca de ícones
A aplicação utiliza a Open-Meteo API:
- Geocoding API → busca da cidade
- Forecast API → dados climáticos atuais
Essa integração permite trabalhar com dados reais em tempo real.
| Tecnologia | Descrição |
|---|---|
| HTML5 | Estrutura da aplicação |
| CSS3 | Estilização e responsividade |
| JavaScript | Lógica da aplicação |
| Jest | Testes automatizados |
| Open-Meteo | API de clima |
| Weather Icons | Ícones climáticos |
| Google Fonts | Tipografia (Poppins) |
projeto_clima/
├── assets/
│ ├── js/
│ │ └── script.js
│ └── images/
├── tests/
│ └── api.test.js
├── index.html
├── style.css
├── package.json
└── README.md🔹 1. Clonar o repositório
git clone https://github.com/seu-usuario/seu-repositorio.git
cd seu-repositorio🔹 2. Abrir o projeto
Você pode:
🔹 3. Executar a aplicação
🧪 Executando os testes
🔹 Instalar dependências
npm install🔹 Rodar testes
npm testDevDependencies:
- jest
- jest-environment-jsdom
A aplicação foi desenvolvida para funcionar em diferentes dispositivos:
- Desktop
- Tablet
- Mobile
O modo noturno é ativado automaticamente com base no horário do sistema do usuário, melhorando a experiência visual.
- Adicionar loading animado
- Implementar geolocalização automática
- Adicionar cache de buscas
- Exibir mais dados climáticos (vento, umidade, etc.)
- Melhorar animações da interface
- Separação de responsabilidades (UI vs lógica)
- Tratamento de erros
- Uso de API externa
- Testes automatizados
- Organização de código
- Foco em UX
Este projeto demonstra:
- ✅ Integração com API real
- ✅ Manipulação dinâmica do DOM
- ✅ Testes com Jest
- ✅ Responsividade
- ✅ Modo noturno automático
- ✅ Tratamento de erros
- ✅ Estrutura organizada
Este projeto foi desenvolvido para fins de estudo e portfólio.
Júlia — Desenvolvedora Full Stack
🔗 GitHub: https://github.com/majulial
🔗 LinkedIn: https://www.linkedin.com/in/juliadlima
Projeto desenvolvido para aprendizado contínuo, demonstração técnica e portfólio profissional.