WeatherApp é um aplicativo simples de previsão do tempo desenvolvido em Rust usando o framework Dioxus para a interface do usuário e consumindo a API da OpenWeather para fornecer dados meteorológicos em tempo real. Este projeto demonstra a construção de uma interface gráfica com Rust e Dioxus, junto com a integração de uma API externa.
- Exibe a previsão do tempo atual para uma cidade especificada.
- Mostra informações como temperatura, condição climática, umidade e velocidade do vento.
- Interface simples e responsiva.
- Suporte para múltiplas unidades (Celsius e Fahrenheit).
- Rust 1.60+ (com suporte a Cargo)
- Chave de API da OpenWeather
- Dioxus CLI (para desenvolvimento local)
git clone https://github.com/seu-usuario/weather-app.git cd weather-app
Crie um arquivo .env
na raiz do projeto e adicione sua chave da API da OpenWeather:
env OPENWEATHER_API_KEY=your_api_key_here
Você pode compilar e executar o projeto localmente usando o Cargo:
`cargo run`
Ou, se estiver usando a Dioxus CLI para desenvolvimento:
`dioxus serve`
- Ao iniciar o aplicativo, insira o nome de uma cidade na barra de pesquisa.
- Pressione "Enter" ou clique no botão de busca.
- As informações meteorológicas da cidade especificada serão exibidas.
weather-app/
├── src/
│ ├── main.rs # Ponto de entrada principal do aplicativo
│ ├── api.rs # Módulo responsável por chamadas à API da OpenWeather
│ ├── components/ # Componentes da interface do usuário
│ └── utils.rs # Funções auxiliares (ex.: conversão de unidades)
├── assets/
│ └── screenshot.png # Captura de tela do aplicativo
├── .env # Arquivo de configuração da chave de API
├── Cargo.toml # Configurações de dependências do Cargo
└── README.md # Documentação do projeto
- Rust: Linguagem de programação principal.
- Dioxus: Framework para construir interfaces de usuário.
- OpenWeather API: Fonte dos dados meteorológicos.
- Reqwest: Cliente HTTP para fazer requisições à API.
- Serde: Para serialização/deserialização de JSON.
- _Tailwind_ CSS CSS framework for rapidly building modern websites without ever leaving your HTML
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorias ou correções.
- Fork o projeto
- Crie sua feature branch (
git checkout -b feature/nova-feature
) - Commit suas mudanças (
git commit -m 'Adiciona nova feature'
) - Push para a branch (
git push origin feature/nova-feature
) - Abra um Pull Request
Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
Run the following command in the root of the project to start the Dioxus dev server:
dx serve --hot-reload --platform desktop