Skip to content

Weather BABA is a weather app that shows real-time weather info, with changing backgrounds and relaxing music based on the weather. It’s built using ReactJS and the OpenWeather API for a smooth user experience.

Notifications You must be signed in to change notification settings

arshitkk/weather-baba

Repository files navigation

Weather BABA Logo WeatherBABA

Weather BABA is a real-time weather application that dynamically updates its visuals based on current weather conditions, offering a smooth and interactive experience. Built with ReactJS and Tailwind CSS.


🚀 Live Demo

weather-baba.vercel.app


📸 Screenshots

desktop screenshot 1 desktop screenshot 2 desktop screenshot 3 desktop screenshot 4
mobile screenshot 1 mobile screenshot 2

🛠️ Features

  • Dynamic Weather Visuals: Background changes based on the current weather.
  • Responsive Design: Looks great on both mobile and desktop devices.
  • Real-time Weather Data: Shows accurate weather details for any location.
  • Ambient Music: Plays a relaxing music track in the background.
  • Optimized User Experience: Updates weather info only when the form is submitted, minimizing re-renders.

💡 What I Learned

  • ReactJS & Component Structure: Organized reusable components (e.g., Header, Footer, WeatherInfo) for a clean architecture.
  • React Context API & Custom Hooks: Leveraged Context API (context) and custom hooks (useWeatherInfo) to manage and share state seamlessly.
  • API Integration: Retrieved weather data using the OpenWeather API, handling responses effectively.
  • Responsive & Dynamic Styling: Tailored CSS for mobile and desktop views, with real-time UI adjustments based on weather.
  • Project Structuring: Organized code into well-defined sections (components, assets, hooks, etc.), enhancing maintainability.

🧗 Major Challenges

  • Data Consistency: Keeping the weather data the same across all parts of the app without repeating the data fetching.

    • Solution: Used React Context API and custom hooks to manage the data in one place.
  • Preventing Slowdowns: Stopping the app from slowing down due to unnecessary updates when the weather or form inputs change.

    • Solution: Only updated the weather data when the form was submitted.
  • Dynamic Background Animations: Creating smooth background changes for different weather conditions without slowing down the app.

    • Solution: Used conditional logic to change the background based on the weather.
  • Efficient User Input Handling: Avoiding updates every time the user types or changes the form.

    • Solution: Only updated when the form was submitted, making the app run smoother.

🛠️ Technologies Used

  • Frontend: ReactJS, Tailwind CSS
  • API: OpenWeather API
  • State Management: React Context API, Custom Hooks
  • Routing: React Router
  • Deployment: Vercel

📧 Contact

Created by Arshit Kumar

About

Weather BABA is a weather app that shows real-time weather info, with changing backgrounds and relaxing music based on the weather. It’s built using ReactJS and the OpenWeather API for a smooth user experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published