Weather Wise is a Next.js application that displays the weather forecast and current weather conditions based on the user-selected location. The application uses Google Maps for location search and display, and the Open-Meteo API for weather data. It also utilizes shadcn UI and Material-UI icons for the user interface, and Radix Toast for notifications.
- Real-time Weather Data: Get the latest weather updates for your chosen location.
- Search Functionality: Search for locations using the Open Meteo API.
- Dynamic Map: View the selected location on a Google Map.
- Notifications: Receive success and error notifications using the Shadcn Toaster.
- Theme Toggler: Switch between light and dark themes.
- Husky: Used for Git hooks to enforce code quality checks.
- Next.js: React framework for building the application.
- Shadcn: Used for UI components and toast notifications.
- Tailwind CSS: For styling and layout.
- Material UI Icons: Used for icons in the application.
- ESLint: Ensures code quality and consistency.
- Prettier: Formats code to maintain a consistent style.
- Google Geocode API: Converts location names into geographical coordinates.
- Google Maps API: Displays the selected location on a map.
Before you begin, ensure you have met the following requirements:
- Clone the repository:
git clone https://github.com/kulembetov/weather-wise.git
cd weather-wise
- Install dependencies:
yarn install
- Create a
.env
file in the root of the project and add your Google Maps API key:
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=
,
NEXT_PUBLIC_GOOGLE_MAPS_MAP_ID=
yarn dev
: Start the development serveryarn build
: Build the application for productionyarn start
: Start the application in production modeyarn lint
: Run ESLint for code qualityyarn format
: Format the code using Prettieryarn prepare
: Set up Husky for git hooks
- Start the development server:
yarn dev
-
Open your browser and navigate to `http://localhost:3000\`.
-
Use the search bar to enter a location and view the weather forecast and current conditions.
- Fork the repository.
- Create a new branch (`git checkout -b feature/auth`).
- Make your changes.
- Commit your changes (`git commit -m 'Add authorization'`).
- Push to the branch (`git push origin feature/auth`).
- Create a pull request.
This project is licensed under the MIT License.