Created by Irfan
 Fullstack AI/ML Project
This repository hosts the Weather App, a robust full-stack application designed to provide real-time weather data and air quality information for any locationβusing a modern, user-friendly interface and a scalable, extensible backend.
Built as part of an AI/ML Software Engineer technical assessment, this project demonstrates best practices in API design, user input handling, data validation, database CRUD operations, and optional integrations with third-party platforms (e.g., YouTube, Google Maps).
Key Value:
- Real-world API integration
 - Clean, modular codebase
 - Designed for extensibility and professional deployment
 - Ready for demonstration, portfolio, or further development
 
-  
Universal Location Input:
Search weather and air quality by city, zip code, coordinates, or landmarks. Robust validation and fuzzy matching for user convenience. -  
Real-Time Weather & 5-Day Forecast:
Live data from OpenWeatherMap, including detailed weather info, icons, and at-a-glance summaries. -  
Air Quality Index (AQI) Data:
Instantly retrieve current air quality information for user-selected locations, powered by OpenWeatherMap Air Pollution API. -  
Geolocation Support:
Instantly fetch weather and air quality for your current positionβusing your browser/device location (with user permission). -  
Comprehensive CRUD:
Save, update, view, and delete weather and air quality queries/records. All data is persisted in a robust SQLite database via SQLAlchemy ORM. -  
Data Export:
Export your search history or saved records to JSON, CSV, XML, or PDF formats with one click. Great for data portability, analytics, and reporting. -  
API Integrations:
- Google Maps: Visualize searched locations on the map.
 - YouTube: Watch trending videos about your searched location.
 - OpenWeatherMap Weather & Air Quality APIs
 
 -  
Responsive & Accessible UI:
Clean, mobile-friendly design with flexible color gradients and intuitive controls. Accessibility best practices followed. -  
Error Handling:
Clear, actionable error messages for every input and API call. -  
No Authentication Required:
All features are open for demonstration and review. -  
Info Button:
Learn more about the project and about me, Mohd Irfan, from the Info page. 
- Backend: Python 3.12+, Flask, SQLAlchemy, SQLite
 - Frontend: HTML5, CSS3, JavaScript (ES6+), Jinja2
 - APIs: OpenWeatherMap (Weather & Air Quality), YouTube Data API, Google Maps
 - Utilities: Pandas (export), FPDF (PDF export), python-dotenv (for secure API key management)
 - Testing: (Add your test framework, e.g., pytest, if implemented)
 - Deployment: Easily deployable on Heroku, Render, or any WSGI-compatible service
 
Google Location & YouTube Videos 
weather-app/ β βββ .env βββ .gitignore βββ README.md βββ requirements.txt βββ run.py βββ test.py β βββ app/ β βββ air_quality.py β βββ export.py β βββ forms.py β βββ geocode.py β βββ maps_api.py β βββ models.py β βββ routes.py β βββ utils.py β βββ weather_api.py β βββ youtube_api.py β βββ __init__.py β βββ instance/ β βββ weather_app.db β βββ static/ β βββ style.css β βββ css/ β βββ img/ β βββ js/ β βββ templates/ β βββ base.html β βββ create.html β βββ edit.html β βββ history.html β βββ index.html β βββ info.html β βββ list.html β βββ view.html β βββ weather.html β βββ __pycache__/ git clone https://github.com/yourusername/weather-app.git cd weather-apppython -m venv venv # Activate: # Windows: venv\Scripts\activate # Mac/Linux: source venv/bin/activatepip install -r requirements.txt- Copy the example file and add your API keys: 
cp .env.example .env
 - Get a free OpenWeatherMap API Key
 - Get a YouTube Data API Key
 
flask run- Open http://localhost:5000 in your browser.
 
- Create: Save any weather or air quality search with location and date range.
 - Read: Review all your saved queries and their results.
 - Update: Modify existing records (location or date).
 - Delete: Remove any record with one click.
 - Export: Download all your data in JSON, CSV, XML, or PDF.
 
Embed your screencast or YouTube demo link below for reviewers and LinkedIn viewers:
πΉ Watch Demo on Vimeo
- Author: Irfan
 - Email: mohdirfanwork786@gmail.com
 - LinkedIn: Mohd Irfan
 - GitHub: mohdirfan-code
 - Twitter/X: @Irfu6428
 
If you found this project useful or inspiring:
- Star this repo β
 - Fork and contribute π€
 
Thank you so much for checking out my Weather App!




