Skip to content

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.

License

Notifications You must be signed in to change notification settings

AverageTaaf/AI-Weather-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

68 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

No packages published