WeatherWise is a modern weather dashboard application that allows users to search for current weather conditions by city name and manage their favorite cities for quick access to weather updates.
- Search for Weather: Users can search for current weather conditions by city name.
- Display Weather Details: Shows details like temperature, weather condition, humidity, and wind speed.
- Add to Favorites: Users can save favorite cities to quickly view their weather conditions.
- Remove from Favorites: Users can remove cities from their favorites.
- Responsive Design: The application is mobile-friendly.
- React
- JavaScript (ES6+)
- Tailwind CSS for styling
- Fetch API for getting weather data from OpenWeatherMap
- Node.js
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/weatherwise.git cd weatherwise -
Install dependencies:
npm install # or yarn install -
Get your OpenWeatherMap API key: Sign up at OpenWeatherMap to get an API key.
-
Create a
.envfile in the root directory and add your API key:REACT_APP_WEATHER_API_KEY=your_api_key_here -
Start the development server:
npm start # or yarn start
-
Search for Weather:
- Enter a city name in the search bar and press enter or click the search button.
- The current weather details for the city will be displayed.
-
Add to Favorites:
- Click the "Add to Favorites" button to save the city to your favorites list.
- Favorite cities will be listed under the "Favorites" section.
-
Remove from Favorites:
- Click the "Remove" button next to a city in the favorites list to remove it.
- App.js: The main component that holds the state and renders child components.
- Search.js: A form to input the city name and trigger the weather search.
- WeatherDetails.js: Displays the weather details of the searched city.
- Favorites.js: Displays a list of favorite cities with their current weather.
- Weather Forecast: Add a feature to display a 5-day weather forecast for the searched city.
- Geolocation: Use the Geolocation API to show weather details based on the user's current location.
- Unit Conversion: Allow users to toggle between Celsius and Fahrenheit.
- Dark Mode: Implement a dark mode for the application.
- Weather Alerts: Display weather alerts for severe conditions like storms or heavy rain.
- Background Images: Change the background image based on the current weather conditions.
- Hourly Forecast: Include an hourly forecast for the current day.
- Language Support: Add support for multiple languages.
- Customizable Dashboard: Allow users to customize the layout and components of the dashboard.
- Save Settings: Save user settings (like unit preference and dark mode) in local storage.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature). - Open a pull request.
This project is licensed under the MIT License.
Enjoy using WeatherWise! 🌤️