Skip to content

AverageTaaf/AI-Weather-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

70 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Weatherify - Smart Weather Forecasting

Weatherify License HTML5 CSS3 JavaScript Firebase

A modern, feature-rich weather forecasting web application that provides comprehensive weather information with an intuitive and beautiful user interface.

๐ŸŒŸ Features

Core Weather Features

  • Real-time Weather Data - Current weather conditions for any location worldwide
  • 5-Day Forecast - Detailed weather predictions for the next 5 days
  • 24-Hour Forecast - Hourly weather breakdown with precipitation probability
  • Location Detection - Automatic geolocation with permission request
  • City Search - Smart autocomplete search for cities worldwide
  • Capital Cities Dropdown - Quick access to all world capital cities

Advanced Features

  • UV Index Monitoring - Real-time UV index with safety recommendations
  • Air Quality Index (AQI) - Air pollution levels with health advisories
  • Interactive Map - Leaflet.js powered location map with weather overlay
  • Weather Insights - AI-powered analysis and recommendations
  • Moon Phase Tracker - Current moon phase information
  • Sunrise/Sunset Times - Daily solar event times
  • Weather Alerts - Extreme weather warnings and notifications
  • Activity Recommendations - Suggested activities based on weather conditions

Data Visualization

  • Temperature Trend Chart - 24-hour temperature visualization
  • Humidity Chart - Humidity levels over time
  • Wind Speed Chart - Wind patterns and trends
  • Precipitation Bars - Rain probability visualization
  • Wind Compass - Visual wind direction indicator
  • Pressure Trend - Atmospheric pressure monitoring

User Experience

  • 5 Theme Options - Light, Dark, Blue, Pink, and Orange themes
  • Saved Locations - Save up to 10 favorite locations
  • Unit Customization - Toggle between Celsius/Fahrenheit/Kelvin, km/h/mph/m/s, and pressure units
  • Responsive Design - Optimized for desktop, tablet, and mobile devices
  • Smooth Animations - Polished transitions and loading states
  • Browser Compatibility - Works on all modern browsers including Opera GX

๐Ÿš€ Live Demo

View Live Demo (Add your deployment URL here)

๐Ÿ“ธ Screenshots

Main Dashboard

Main Dashboard

Weather Insights

Weather Insights

Interactive Map

Interactive Map

๐Ÿ› ๏ธ Technologies Used

  • HTML5 - Semantic markup structure
  • CSS3 - Modern styling with CSS variables and animations
  • JavaScript (ES6+) - Core functionality and API integration
  • Firebase - Backend services and data storage
  • OpenWeatherMap API - Weather data provider
  • Chart.js - Data visualization library
  • Leaflet.js - Interactive mapping library
  • Font Awesome - Icon library
  • Google Fonts (Poppins) - Typography

๐Ÿ“‹ Prerequisites

  • Modern web browser (Chrome, Firefox, Safari, Edge, Opera GX)
  • Internet connection for API calls
  • OpenWeatherMap API key (free tier available)

๐Ÿ”ง Installation

  1. Clone the repository

    git clone https://github.com/AverageTaaf/weatherify.git
    cd weatherify
  2. Get your API key

  3. Configure the API key

    • Open script.js
    • Replace the API key on line 28:
      const API_KEY = "your_api_key_here";
  4. Launch the application

    • Open index.html in your web browser

    • Or use a local server:

      # Using Python
      python -m http.server 8000
      
      # Using Node.js
      npx http-server
  5. Access the app

    • Navigate to http://localhost:8000 in your browser

๐Ÿ“– Usage Guide

Searching for Weather

  1. By City Name: Type a city name in the search bar
  2. Autocomplete: Select from suggested cities as you type
  3. Capital Cities: Use the dropdown to select any world capital
  4. Current Location: Click the location icon to use your GPS coordinates

Saving Locations

  1. Search for a location
  2. Click the "+" button in the Saved Locations bar
  3. Access saved locations by clicking on them
  4. Remove locations using the "ร—" button

Customizing Settings

  1. Click the settings icon (โš™๏ธ)
  2. Choose your preferred units:
    • Temperature: Celsius, Fahrenheit, or Kelvin
    • Wind Speed: km/h, mph, or m/s
    • Pressure: hPa, inHg, or mmHg
  3. Enable weather alerts (requires browser notification permission)

Changing Themes

  • Click any theme icon in the header:
    • โ˜€๏ธ Light Theme
    • ๐ŸŒ™ Dark Theme
    • ๐Ÿ’ง Blue Theme
    • โค๏ธ Pink Theme
    • ๐Ÿ”ฅ Orange Theme

๐ŸŒ API Reference

OpenWeatherMap APIs Used

  • Current Weather API - Real-time weather data
  • 5-Day Forecast API - Weather predictions
  • Geocoding API - Location search and coordinates
  • UV Index API - UV radiation levels
  • Air Pollution API - Air quality data

API Endpoints

// Current Weather
https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}

// 5-Day Forecast
https://api.openweathermap.org/data/2.5/forecast?q={city}&appid={API_KEY}

// UV Index
https://api.openweathermap.org/data/2.5/uvi?lat={lat}&lon={lon}&appid={API_KEY}

// Air Quality
https://api.openweathermap.org/data/2.5/air_pollution?lat={lat}&lon={lon}&appid={API_KEY}

๐ŸŽจ Customization

Adding New Themes

Edit the CSS variables in styles.css:

body[data-theme="your-theme"] {
  --primary-color: #your-color;
  --secondary-color: #your-color;
  --accent-color: #your-color;
  --text-color: #your-color;
  --bg-color: #your-color;
  --card-bg: #your-color;
}

Modifying Weather Insights

Edit the displayWeatherInsights() function in script.js to add custom insights.

๐Ÿ› Known Issues

  • Map may take a few seconds to load on slower connections
  • Some browsers may block geolocation on non-HTTPS sites
  • API rate limits apply (60 calls/minute for free tier)

๐Ÿ”ฎ Future Enhancements

  • Weather radar overlay
  • Historical weather data
  • Weather comparison between cities
  • Export weather reports as PDF
  • Multi-language support
  • Weather widgets for embedding
  • Progressive Web App (PWA) support
  • Offline mode with cached data

๐Ÿค Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Taafeef Bin Montaquim

๐Ÿ™ Acknowledgments

๐Ÿ“ž Support

If you encounter any issues or have questions:

โญ Show Your Support

Give a โญ๏ธ if this project helped you!


Other Projects by Taafeef Bin Montaquim:


Made with โค๏ธ by Taafeef Bin Montaquim

About

Welcome to Weatherify AI. An AI powered app where you can see forecast of almost every city on earth. It uses many pre-trained models to fetch weather data from all across the world.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors