A professional weather dashboard built with Streamlit that provides real-time weather data and forecasts using the OpenWeatherMap API.
- Real-time Weather Data: Get current weather conditions for any location
- 5-Day Forecast: View detailed weather forecasts with interactive charts
- Interactive Map: Search locations using an interactive map interface
- Dual Search Methods: Search by city name or map selection
- Responsive Design: Works on desktop and mobile devices
- Dark/Light Mode: Toggle between dark and light themes
- Unit Conversion: Switch between metric and imperial units
-
Clone the repository:
git clone https://github.com/Moh-Tayyab/Growth_MindSet_Challenge/.git cd Growth_MindSet_Challenge
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file in the project root and add your OpenWeatherMap API key:OPENWEATHER_API_KEY=your_api_key_here
-
Run the application:
streamlit run app.py
Growth_MindSet_Challenge/
├── app.py # Main Streamlit application file
├── config.py # Configuration settings (API keys, map defaults)
├── ui_components.py # UI rendering and layout components
├── weather_utils.py # Utilities for fetching and processing weather data
├── requirements.txt # List of Python dependencies
├── .env # Environment variables (git-ignored)
├── .gitignore # Git ignore file
├── .streamlit/ # Streamlit configuration directory
│ └── secrets.toml # Secrets file for Streamlit Cloud (git-ignored)
└── README.md # Project documentation
- Streamlit - Web application framework
- OpenWeatherMap API - Weather data provider
- Plotly - Interactive charts
- Folium - Interactive maps
- Pandas - Data manipulation
The application can be configured through environment variables:
OPENWEATHER_API_KEY
: Your OpenWeatherMap API key- Default map coordinates can be modified in
config.py
- Temperature
- Humidity
- Wind Speed
- Weather Description
- Weather Icon
- Daily Temperature Range
- Weather Conditions
- Humidity Levels
- Wind Speed
- Interactive Temperature Chart
- Location Search
- Interactive Markers
- Fullscreen Mode
- Mouse Position Tracking
- Drawing Tools
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenWeatherMap for providing the weather data API
- Streamlit team for the amazing framework
- All contributors who help improve this project
Linkedin Profile: [https://www.linkedin.com/in/ch-muhammad-tayyab/]
Made with ❤️ by Muhammad Tayyab