A modern, responsive weather application built with vanilla JavaScript that provides real-time weather information for any city worldwide.
- 🌍 Real-time Weather Data - Current conditions for any city worldwide
- 📱 Responsive Design - Optimized for all devices from mobile to desktop
- 🌓 Dark/Light Mode - Toggle between themes with system preference detection
- 📍 Geolocation Support - Automatically detect user's location weather
- 🕒 Recent Searches - Quick access to previously searched cities
- ⏰ Local Time Display - Shows the local time of the searched city
- Temperature with "feels like" reading
- Weather description with icons
- Humidity and wind speed
- Atmospheric pressure
- Visibility
- Sunrise and sunset times
- HTML5 - Semantic markup structure
- CSS3 - Modern styling with variables, flexbox, and grid
- JavaScript - ES6+ features, no frameworks
- OpenWeatherMap API - Weather data source
- Local Storage API - Saving preferences and search history
- Geolocation API - Location detection
-
Clone the repository:
git clone https://github.com/1iPluto/WeatherVue.git
-
Navigate to the project directory:
cd WeatherVue -
Open
js/config.jsand replace the API key:API_KEY: 'YOUR_OPENWEATHERMAP_API_KEY' -
Open
index.htmlin your browser or use a local server
This application uses the OpenWeatherMap API:
- Sign up at OpenWeatherMap
- Generate an API key
- Replace the placeholder in
js/config.js
WeatherVue/
├── index.html # Main HTML file
├── css/
│ ├── normalize.css # CSS reset
│ └── styles.css # Custom styles
├── js/
│ ├── config.js # Configuration and API keys
│ ├── utils.js # Utility functions
│ ├── api.js # API service
│ ├── ui.js # UI handling
│ └── app.js # Main application logic
└── assets/
└── favicon.png # Application favicon
- 5-day weather forecast
- Weather maps integration
- Multiple unit system options
- Weather alerts and notifications
- Air quality and UV index data
MIT License - Feel free to use, modify, and distribute this code.
Marwan Saeed