Skip to content

Repository files navigation

🌦️ WeatherApp - Professional Weather Application

WeatherApp BannerVersionReactTypeScriptTailwindViteLeafletRechartsFramer


Screenshot

Live Demo

📖 About The Project

68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f4d3967624264396e6244724f5475314d71782f67697068792e676966

WeatherApp is a modern, multilingual weather application built with React and TypeScript. It provides real-time weather information using the OpenWeatherMap API with a beautiful and responsive user interface.

✨ Key Features

  • 🌍 Bilingual Support (Persian & English)
  • 🌓 Dark/Light Mode with system preference detection
  • 📍 Interactive Map showing city location with Leaflet
  • 📊 Temperature Chart for 6-day forecast
  • 🎯 Suggested Cities for quick search
  • 📱 Fully Responsive Design for all devices
  • Blazing Fast with Vite
  • 🎨 Beautiful UI with Tailwind CSS

⚠️ **Note: Get your API key from OpenWeatherMap.

🛠️ Built With

CategoryTechnologyBadge
FrameworkReact 19.2.7React
LanguageTypeScript 6.0.2TypeScript
Build ToolVite 8.1.0Vite
StylingTailwind CSS 3.4.19Tailwind
MapsLeaflet 1.9.4Leaflet
ChartsRecharts 3.9.0Recharts
IconsReact Icons 5.0.1React Icons
AnimationFramer Motion 12.42.0Framer
APIOpenWeatherMapOpenWeatherMap

🚀 Getting Started

Prerequisites

  • Node.js
  • npm, yarn, or pnpm

Installation

1. Clone the repository

git clone https://github.com/Mr-Syntax1/Weather-app.git

2. Navigate to the project directory

cd Weather-app

3. Install dependencies

npm install

4. Run in development mode

npm run dev

5. Build for production

npm run build

6. Preview the built version

npm run preview

📂 Project Structure

src/
├── 📁 assets/ # Static images and assets
├── 📁 components/ # React components
│ ├── Error/ # Error messages
│ ├── ForecastCard/ # Weather forecast cards
│ ├── LanguageToggle/ # Language switch button
│ ├── Layout/ # Header, Footer, Container
│ ├── Loading/ # Loading spinner
│ ├── Map/ # Interactive map
│ ├── Search/ # Search bar
│ ├── SuggestedCities/# City suggestions
│ ├── TemperatureChart/# Temperature chart
│ ├── ThemeToggle/ # Theme switch button
│ └── Weather/ # Weather card & details
├── 📁 contexts/ # Context API (Language, Theme)
├── 📁 fonts/ # Persian & English fonts
├── 📁 hooks/ # Custom Hooks (useWeather)
├── 📁 locales/ # Translation files (fa, en)
├── 📁 services/ # API requests
├── 📁 types/ # TypeScript Interfaces
├── 📁 utils/ # Helper functions
├── App.tsx
├── main.tsx
└── index.css

🤝 Contributing

Fork the repository

Create a Feature Branch

git checkout -b feature/AmazingFeature

Commit your changes

git commit -m 'Add some AmazingFeature

Push to the branch

git push origin feature/AmazingFeature

Open a Pull Request


⭐ Don't forget to star the project if you like it! ⭐

About

🌦️ A modern, multilingual weather application built with React, TypeScript, and Tailwind CSS. Featuring dark/light mode, interactive maps, 6-day forecast, and temperature charts. Live demo available!

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages