/Weather-App

Weather App is a web application that allows users to search for and view current weather conditions and a 5-day forecast for any city. It features a user-friendly interface with support for dark mode, and responsive design for seamless use across various devices.

Primary LanguageJavaScript

Weather App

Installation

To run the Weather App on your local system, make sure you have Node.js installed. You can download it from here. This will give you access to the Node Package Manager (npm), which is essential to run the project.

Getting Started

  1. Open the terminal and navigate to the project directory.
  2. Run: npm install to install all the dependencies.
  3. Create a .env file at the root of the project directory and add your sensitive API keys:
  4. Run: npm start to start the development server.
  5. Open http://localhost:3000 in your browser to view the Weather App.

Prerequisites

1. System Requirements

  • Any system with a basic configuration.
  • Operating System: Windows / Linux / Mac.

2. Software Requirements

  • Updated browser.
  • Node.js installed (If not, download it here).
  • Any text editor of your choice.

Technologies Used

  1. JavaScript (ES6+)
  2. React.js
  3. Axios
  4. RapidAPI
  5. OpenWeatherMap API
  6. HTML, CSS

Dependencies

  1. React: A JavaScript library for building user interfaces.
  2. Axios: A promise-based HTTP client for the browser and Node.js.
  3. React-Switch: A customizable switch component for React.
  4. React-Router-DOM: Declarative routing for React applications.
  5. React-Icons: Popular icons as React components.
  6. react-async-select: A flexible and beautiful Select Input control for ReactJS.
  7. react-loader-spinner: A lightweight loading spinner component for React.
  8. dotenv: A zero-dependency module that loads environment variables from a .env file.

Features

  1. Dark Mode Support: Toggle between light and dark mode.
  2. Weather Search: Users can search for weather information by city name.
  3. Current Weather Display: Displays current weather information including temperature, humidity, wind speed, etc.
  4. 5-Day Weather Forecast: Provides a 5-day weather forecast for the searched city.
  5. Loading Animation: Displays a loading spinner while fetching weather data.
  6. Responsive Design: Optimized for various screen sizes.