SkyBuddy is your beautiful, lightning-fast, and feature-rich weather dashboard. Get real-time weather, forecasts, and moreβright at your fingertips!
- Instantly fetches your local weather using browser geolocation.
- Handles permission errors gracefully with helpful prompts.
- Current weather: temperature, feels like, min/max, humidity, wind, and more.
- Beautiful weather icons and descriptions.
- Interactive hourly temperature chart (Recharts powered).
- 5-day forecast with min/max, humidity, wind, and weather icons.
- Responsive, mobile-friendly design with Tailwind CSS.
- Smooth skeleton loaders and animated transitions.
- Dark/light mode toggle.
- Built with React 19, Vite, TypeScript, and Tailwind CSS.
- Uses React Query for blazing-fast, cached API calls.
- Modular, maintainable codebase.
-
Clone the repo: sh git clone https://github.com/yourusername/skybuddy.git cd skybuddy
-
Install dependencies: sh npm install
-
Set up your OpenWeatherMap API key:
- Copy .env.example to .env and add your API key.
-
(Optional)Set up Google Calendar Integration
To test or work on the Personal Planner feature, you will need a Google OAuth Client ID. How to get your Google OAuth Client ID? Follow the steps below
1. Go to the Google Cloud Console and create a new project.
2. Enable the Google Calendar API in the "Library" section.
3. Go to "Credentials" and create a new OAuth 2.0 Client ID for a Web application.
4. Add http://localhost:5173 and http://127.0.0.1:5173 (or your local dev port) as "Authorized JavaScript origins".
5. Copy the generated Client ID and paste it into your .env file as the value for VITE_GOOGLE_CLIENT_ID.
- Run the app: sh npm run dev
- React 19
- Vite
- TypeScript
- Tailwind CSS
- React Query
- Recharts
- OpenWeatherMap API
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.


