Sh.
0%
Weather Analytics Application preview 1

Key Features & Highlights

Real-Time Weather Data — Integrated OpenWeatherMap API to retrieve weather information for 30 global cities.
Comfort Index — Developed a 0–100 weather comfort score using temperature, humidity, wind, cloudiness, and visibility.
Weather Analytics Dashboard — Displayed and ranked cities based on their comfort scores with interactive search and status indicators.
City Details — Provided detailed weather metrics including temperature, humidity, wind speed, visibility, cloud cover, and pressure.
Secure Authentication — Implemented Auth0 authentication with MFA and RS256 JWT-based backend authorization.
Caching & Background Refresh — Added a 5-minute cache and background refresh process to improve performance and reduce API requests.

Technologies & Architecture

Next.js 16React 19TypeScriptTailwind CSSshadcn/uiFastAPIPython 3.11+Auth0OpenWeatherMap APIPydantichttpxJWT / RS256PytestIn-Memory Caching

Weather Analytics Application

About Project

A full-stack weather analytics application built to collect, process, and visualize real-time weather data for 30 global cities using OpenWeatherMap API.

The application combines a Next.js frontend with a FastAPI backend and provides secure authentication, ranked weather analytics, detailed city-level metrics, and a scientific Comfort Index Score based on temperature, humidity, wind speed, cloudiness, and visibility. It also uses an in-memory caching system and background refresh process to improve performance and reduce unnecessary API requests.

Application Development

I built this project as a full-stack weather analytics application using Next.js and FastAPI. I integrated the OpenWeatherMap API to collect real-time weather data for 30 global cities and developed backend services to process and serve the data through REST APIs. The frontend provides a responsive dashboard for viewing city rankings, weather metrics, comfort ratings, and detailed city information.

A key part of the project is the Comfort Index Engine, which calculates a 0–100 Comfort Index Score using five weighted weather factors: temperature (40%), humidity (25%), wind speed (15%), cloudiness (15%), and visibility (5%). Each factor is evaluated based on defined comfort ranges, and the weighted results are combined into a final score classified as Excellent, Good, Fair, or Poor. These scores are then used to rank the 30 cities and help users quickly understand overall weather comfort.

I also implemented Auth0 authentication with MFA and RS256 JWT validation to secure communication between the frontend and backend. To improve performance and reduce unnecessary OpenWeatherMap API requests, I designed an in-memory caching system with TTL-based expiration and a background refresh worker that automatically updates weather data every few minutes.

What I Learned

Through this project, I gained practical experience in full-stack development, REST API integration, authentication and authorization, JWT security, asynchronous backend processing, caching strategies, and responsive dashboard development. I also learned how to design a backend data-processing service, work with external APIs efficiently, write automated tests with Pytest, and transform raw weather data into meaningful analytical metrics such as a weighted Comfort Index Score.