A sleek and interactive weather application that provides real-time weather information for cities around the globe.
- Real-time Weather Data: Fetches current weather conditions using the OpenWeatherMap API
- Comprehensive Information: Displays temperature, feels-like temperature, weather description, humidity, wind speed, atmospheric pressure, and visibility
- Dynamic Weather Icons: Shows context-aware weather icons based on current conditions
- Search Functionality: Search for any city worldwide with instant results
- Responsive Design: Fully optimized for desktop, tablet, and mobile devices
- Modern UI/UX: Features a beautiful gradient background with glass morphism effects and smooth animations
- Interactive Elements: Hover effects, floating animations, and smooth transitions enhance user experience
- HTML5: Semantic structure and accessibility
- CSS3: Advanced styling with gradients, animations, and glass morphism
- JavaScript (ES6): Asynchronous API calls, DOM manipulation, and event handling
- OpenWeatherMap API: Real-time weather data integration
- Google Fonts: Custom typography (Poppins & Pacifico)
- Dark blue gradient background for better readability
- Colorful accent cards with unique colors for each weather metric
- Glass morphism effect with backdrop blur for modern aesthetics
- Responsive grid layout adapting from 4 columns to single column on mobile
- Smooth hover animations and transitions throughout
- Clone this repository:
git clone https://github.com/yourusername/weatho-weather-app.git-
Get a free API key from OpenWeatherMap:
- Sign up for a free account
- Navigate to API keys section
- Generate a new API key
-
Create a
config.jsfile in the project root:
const config = {
apiKey: 'YOUR_API_KEY_HERE'
};- Open
weather.htmlin your browser
weatho-weather-app/
│
├── weather.html # Main HTML file
├── style.css # CSS styles and animations
├── script.js # JavaScript functionality
├── logo.png # App logo
├── config.js # API configuration (not tracked by git)
├── config.example.js # Example config file
└── README.md # Project documentation
- RESTful API integration and asynchronous JavaScript (fetch, async/await)
- Responsive web design using CSS Grid and Flexbox
- DOM manipulation and event handling
- Error handling and user feedback
- Modern CSS techniques (gradients, animations, glass morphism)
- Clean, maintainable code structure
This project is open source and available under the MIT License.
Taher Ayadi
- LinkedIn: https://www.linkedin.com/in/taher-ayadi/
- GitHub: https://github.com/taherx7
- Weather data provided by OpenWeatherMap API
- Icons: Weather icons from OpenWeatherMap
- Fonts: Google Fonts (Poppins & Pacifico)
⭐ If you found this project helpful, please consider giving it a star!
Quick client-side steps to keep API keys out of your public repo:
-
Copy
config.example.jstoconfig.jsand replace the placeholder with your OpenWeather API key:copy config.example.js config.js # then edit config.js and replace YOUR_API_KEY_HERE with your real key
