Skip to content

chamikathereal/weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Weather Animation

The Ultimate Weather App

"Where Engineering Precision Meets Aesthetic Perfection."

React TypeScript Tailwind Vercel

Live Demo Report Bug Request Feature

๐ŸŽฌ The Cinematic Build

Witness the code come to life. From empty file to production masterpiece.

Watch the video


๐Ÿ”ฎ The Vision

This isn't just a weather app; it's a statement piece for modern frontend development. By leveraging Glassmorphism, the interface floats above dynamic backgrounds with a frosted-glass aesthetic, changing moods based on real-time weather data.

Performance Metric: Powered by a robust React + TypeScript architecture, ensuring type safety, maintainability, and a lightning-fast user experience (60 FPS).

๐Ÿ’Ž The "Wow" Factors

Feature Description
๐ŸŽจ Adaptive UI Engine The interface is alive. It shifts color palettes seamlesslyโ€”warm amber for sunny days, cool slate for storms, and deep indigo for clear nights.
โšก Intelligent Caching Built with TanStack Query, the app caches weather data for 5 minutes. reduces API costs and provides instant data retrieval.
๐Ÿง  Context Awareness Auto-Location detects preferences, while History Memory remembers your last visited cities using persistent Local Storage.
๐Ÿš€ Zero Layout Shift Custom Skeleton Loaders mimic the final UI perfectly, preventing jarring layout jumps while data fetches.

๐Ÿ› ๏ธ The Arsenal (Tech Stack)

Domain Tech Why?
Core React The gold standard for UI.
Typing TypeScript Bug-resistant code.
Styling Tailwind Utility-first glassmorphism.
State TanStack Server state management.
Icons Lucide Consistent iconography.
SEO Helmet Dynamic meta tags.
Deploy Vercel Global edge network.

๐Ÿ—๏ธ Project Architecture

A clean, modular structure designed for scalability.

WEATHER-APP/
โ”œโ”€โ”€ ๐Ÿ“‚ public/              # Favicons, Manifest, OG Images
โ”œโ”€โ”€ ๐Ÿ“‚ src/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ components/      # ๐Ÿงฉ Reusable UI Blocks
โ”‚   โ”‚   โ”œโ”€โ”€ CityCard.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ CityHeader.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ CitySkeleton.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ ExtendedForecast.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ Footer.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ HourlyForecast.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ MainWeatherCard.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ SearchBar.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ SkeletonCard.tsx
โ”‚   โ”‚   โ””โ”€โ”€ StatsDisplay.tsx
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ extra/           # ๐Ÿ› ๏ธ Utilities & API
โ”‚   โ”‚   โ”œโ”€โ”€ Api.ts          # OpenWeatherMap Endpoints
โ”‚   โ”‚   โ””โ”€โ”€ weatherUtils.ts # Gradient generators & Logic
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ images/          # ๐Ÿ–ผ๏ธ Static Assets
โ”‚   โ”‚   โ”œโ”€โ”€ home-bg.jpg
โ”‚   โ”‚   โ””โ”€โ”€ profile.jpg
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ pages/           # ๐Ÿ“„ Application Views
โ”‚   โ”‚   โ”œโ”€โ”€ Home.tsx        # Dashboard & Search
โ”‚   โ”‚   โ””โ”€โ”€ City.tsx        # Detailed Analytics
โ”‚   โ”œโ”€โ”€ App.tsx             # Root Component
โ”‚   โ””โ”€โ”€ index.tsx           # Entry Point & Providers
โ”œโ”€โ”€ .env                    # Secrets
โ””โ”€โ”€ tailwind.config.js      # Design System

๐Ÿง  Leveling Up: Learning Outcomes

Building this project was a deep dive into advanced React patterns.

  • Hook Mastery: Deep implementation of useMemo and useCallback for referential stability.
  • Type Safety: Moving beyond any with strict interfaces (WeatherData, ForecastData).
  • CSS Alchemy: Pushing Tailwind to limits with arbitrary values and backdrop filters.
  • CI/CD Ops: Automated deployment pipelines with Vercel.

๐Ÿš€ Getting Started

Ready to run this on your machine?

1. Clone the Repository

git clone [https://github.com/chamikathereal/WEATHER-APP.git](https://github.com/chamikathereal/WEATHER-APP.git)
cd WEATHER-APP

2. Install Dependencies

yarn install

3. Configure Environment Create a .env file in the root directory:

REACT_APP_WEATHER_API_KEY=your_openweather_api_key

4. Ignite the Server

yarn start

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

Chamika Gayashan

Chamika Gayashan

Undergraduate Software Engineer | Sri Lanka

"Code is poetry, and I'm just trying to make it rhyme." ๐Ÿš€

LinkedIn GitHub Medium

Instagram Facebook


Last Updated: Saturday, July 05, 2025, 10:48 AM +0530


Built with โค๏ธ and โ˜• by Chamika Gayashan. Star this repo if you found it useful! โญ

About

Developing a Premium Weather Dashboard (Full Timelapse) With API Integration | React & Tailwind

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors