Skip to content

Mr-Syntax1/Weather-app

Repository files navigation

🌦️ WeatherApp - Professional Weather Application

WeatherApp Banner Version React TypeScript Tailwind Vite Leaflet Recharts Framer


Screenshot


πŸ“– 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

Category Technology Badge
Framework React 19.2.7 React
Language TypeScript 6.0.2 TypeScript
Build Tool Vite 8.1.0 Vite
Styling Tailwind CSS 3.4.19 Tailwind
Maps Leaflet 1.9.4 Leaflet
Charts Recharts 3.9.0 Recharts
Icons React Icons 5.0.1 React Icons
Animation Framer Motion 12.42.0 Framer
API OpenWeatherMap OpenWeatherMap

πŸš€ 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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages