A minimalist weather widget built with React, Material UI, and Vite. It delivers real-time weather updates with clarity and calm—designed to be simple, responsive, and beautiful.
- 🔍 Search weather by city name
- 🌡️ Display temperature, humidity, wind speed, and conditions
- 🕒 Local time and date display
- 🎨 Material UI for clean, responsive design
⚠️ Graceful error handling for invalid inputs or API issues
- Frontend: React (with Vite)
- UI Library: Material UI
- API: OpenWeatherMap
- Styling: CSS + Material UI theming
- Linting: ESLint
git clone https://github.com/your-username/Weather-Widget.git
cd Weather-Widget
npm install
npm run dev- Sign up at OpenWeatherMap
- Generate your API key
- Create a
.envfile in the root directory:
VITE_WEATHER_API_KEY=your_api_key_hereWeather-Widget/
├── node_modules/
├── public/
│ └── vite.svg
├── src/
│ ├── App.jsx
│ ├── App.css
│ ├── index.jsx
│ ├── index.css
│ ├── main.jsx
│ ├── SearchBox.jsx
│ └── WeatherDashboard.jsx
├── .gitignore
├── index.html
├── package.json
├── package-lock.json
├── vite.config.js
├── eslint.config.js
└── README.md
SearchBox.jsx: Handles user input and triggers API callsWeatherDashboard.jsx: Displays weather data in styled Material UI cardsApp.jsx: Manages layout and component compositionmain.jsx: Entry point for rendering the app
Crafted with ❤️ by Muskan
Connect on LinkedIn | Portfolio coming soon