An interactive weather dashboard that displays real-time weather information for any location on the map. Built with React, FastAPI, and OpenWeather API.
- Interactive Map Interface: Click anywhere on the map to get weather data
- Real-time Weather Data:
- Temperature
- Feels like temperature
- Humidity
- Wind speed
- Pressure
- Weather description
- Modern UI/UX: Clean and responsive design that works on all devices
- Fast Backend: Powered by FastAPI for quick and efficient data fetching
- Frontend:
- React
- Leaflet Maps
- Material-UI
- Vite
- Backend:
- FastAPI
- Python
- OpenWeather API
- Node.js (v14 or higher)
- Python (v3.8 or higher)
- OpenWeather API key
-
Clone the repository:
git clone https://github.com/Neil-Cardoz/Weather-Dashboard.git cd Weather-Dashboard -
Set up the backend:
cd backend pip install -r requirements.txtCreate a
.envfile in the backend directory and add your OpenWeather API key:OPENWEATHER_API_KEY=your_api_key_here -
Set up the frontend:
cd ../my-app npm install
-
Start the backend server:
cd backend uvicorn main:app --reload -
Start the frontend development server:
cd ../my-app npm run dev -
Open your browser and navigate to
http://localhost:5173
- The application will load with a map interface
- Click anywhere on the map to select a location
- Weather information for the selected location will appear below the map
- The data updates in real-time when you select a new location
Make sure to never commit your .env file or expose your API keys. The .gitignore file is set up to prevent this, but always be careful when pushing changes.
Feel free to fork this repository and submit pull requests. You can also open issues for bugs or feature requests.