A modern, responsive weather web application providing accurate forecasts and air quality data for locations worldwide.
- Real-time Weather Data: Current weather conditions with detailed metrics
- 5-Day Forecast: Extended weather predictions with daily breakdowns
- Hourly Forecasts: 24-hour weather and wind speed predictions
- Air Quality Index: Comprehensive air pollution monitoring (PM2.5, SO2, NO2, O3)
- Location Search: Find weather for any city worldwide
- Geolocation Support: Automatic detection of user's current location
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Dark Theme: Modern, eye-friendly dark interface
- Weather Icons: Beautiful visual representations of weather conditions
- Interactive UI: Smooth animations and intuitive user experience
Visit Wardosphere to see the application in action.
- HTML5: Semantic markup and accessibility
- CSS3: Modern styling with CSS Grid and Flexbox
- Vanilla JavaScript: ES6+ features and modular architecture
- Material Design Icons: Beautiful iconography
- Vercel Serverless Functions: Secure API proxy layer
- OpenWeatherMap API: Weather and air quality data
- Geocoding API: Location search and coordinate conversion
- Vercel: Hosting and deployment platform
- Git: Version control
- OpenWeatherMap API key
-
Clone the repository
git clone https://github.com/KeepSerene/Weatherio-weather-web-app.git cd Weatherio-weather-web-app -
No extra dependencies required
-
Environment setup Create a
.envfile in the root directory:OPEN_WEATHER_MAP_API_KEY=your_api_key_here
-
Start the development server with Live Server
-
Open your browser Navigate to
localhost:PORT
- Visit OpenWeatherMap
- Sign up for a free account
- Generate an API key from your dashboard
- Add the key to your environment variables
- Click the search icon in the header
- Type a city name (e.g., "London", "New York")
- Select from the dropdown suggestions
- View comprehensive weather data
- Click the "Current Location" button
- Allow location permission when prompted
- View weather for your current position
- Current Conditions: Temperature, description, feels-like temperature
- Today's Highlights: Air quality, sunrise/sunset, humidity, pressure, visibility
- Hourly Forecast: Next 24 hours with temperature and wind data
- 5-Day Forecast: Extended predictions with daily highs
wardosphere/
βββ api/ # Vercel serverless functions
β βββ air-pollution.js # Air quality data endpoint
β βββ current-weather.js # Current weather endpoint
β βββ forecast.js # Weather forecast endpoint
β βββ geocoding.js # City search endpoint
β βββ reverse-geocoding.js # Coordinate to city endpoint
βββ css/ # Stylesheets
β βββ reset.css # CSS reset
β βββ style.css # Main styles
β βββ utils.css # Utility classes
βββ images/ # Static assets
β βββ logo.svg # Application logo
β βββ favicon.svg # Favicon
β βββ weather-icons/ # Weather condition icons
βββ js/ # JavaScript modules
β βββ api.js # API communication layer
β βββ main.js # Main application logic
β βββ module.js # Utility functions
β βββ route.js # Client-side routing
βββ font/ # Custom fonts
βββ index.html # Main HTML file
βββ README.md # Project documentation
OPEN_WEATHER_MAP_API_KEY: Your OpenWeatherMap API key
The application is configured for automatic deployment on Vercel.
The application uses CSS custom properties for easy theming. Modify the :root variables in css/style.css:
:root {
--primary: #b5a1e5;
--background: #131214;
--surface: #1d1c1f;
/* Add your custom colors */
}Replace icons in the images/weather-icons/ directory to customize the visual appearance.
- Fork or clone this repository
- Connect your GitHub account to Vercel
- Import the project
- Add environment variables in Vercel dashboard
- Deploy automatically
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow existing code style and conventions
- Add comments for complex logic
- Test thoroughly across different devices
- Update documentation as needed
All API calls are proxied through serverless functions to keep API keys secure:
GET /api/current-weather?lat={lat}&lon={lon}- Current weather dataGET /api/forecast?lat={lat}&lon={lon}- 5-day weather forecastGET /api/air-pollution?lat={lat}&lon={lon}- Air quality informationGET /api/geocoding?q={query}- Search locations by nameGET /api/reverse-geocoding?lat={lat}&lon={lon}- Get location from coordinates
- Search results limited to 5 locations
- Hourly forecast shows next 8 intervals (24 hours)
- Some weather icons may not display in older browsers
This project is licensed under the MIT License - see the LICENSE file for details.
Dhrubajyoti Bhattacharjee
- GitHub: @KeepSerene
- Email: dhrubajyotibhattacharjee182@gmail.com
- OpenWeatherMap for providing weather data APIs
- Material Design Icons for beautiful iconography
- Vercel for hosting and serverless functions
- Weather icons and design inspiration from various open-source projects
This project is actively maintained. Future enhancements may include:
- Weather alerts and notifications
- Historical weather data
- Weather maps integration
- Multiple theme options
- Progressive Web App (PWA) features
Made with β€οΈ by Dhrubajyoti Bhattacharjee
If you found this project helpful, please consider giving it a β
