Weather App A minimalist, real-time weather dashboard with interactive visualizations, location intelligence, and glassmorphism-inspired UI that adapts to user preferences.
Project Overview
A responsive React application designed to provide users with immediate access to accurate weather data. It solves the problem of cluttered weather interfaces by offering a clean, glassmorphism-inspired UI that adapts to user location and device preferences (Dark/Light modes). The app provides real-time weather information, interactive temperature graphs, and multi-day forecasts.
Initialization: App loads WeatherProvider and defaults to 'Algiers'. useEffect triggers fetchData in api.js.
API Request: api.js constructs request with API Key and Query, calls api.weatherapi.com/v1/forecast.json.
State Update: Response data is stored in WeatherContext. Computed data (like graph points) is memoized via useMemo.
Rendering: Components (TheWeather, TemperatureGraph) subscribe to context and re-render.
Search Interaction: Triggers locationService.searchLocations → Updates City in Context → Triggers Refetch.
Geolocation: Triggers navigator.geolocation → locationService.reverseGeocode → Updates Coordinates in Context.
Glassmorphism-inspired design provides a modern, uncluttered weather viewing experience.
Accurate weather information from WeatherAPI ensures users have up-to-date forecasts.
Custom SVG temperature graph with hover interactions makes data exploration intuitive.
Geoapify integration enables smart location search and automatic detection.
System-aware dark/light modes with persistent preferences enhance user comfort.
Responsive design ensures optimal experience on mobile, tablet, and desktop.