An open API service indexing awesome lists of open source software.

https://github.com/hashimthepassionate/weather-app

This repository contains a simple Weather App built with HTML, CSS, and JavaScript. Users can enter a city name to fetch and display current weather details from the OpenWeatherMap API. Ideal for beginners learning API interaction and dynamic UI updates.
https://github.com/hashimthepassionate/weather-app

async await css fetch-api flex html5 javascript json position try-catch weather-app weather-data weatherapi weatherapp weatherinformation

Last synced: 2 months ago
JSON representation

This repository contains a simple Weather App built with HTML, CSS, and JavaScript. Users can enter a city name to fetch and display current weather details from the OpenWeatherMap API. Ideal for beginners learning API interaction and dynamic UI updates.

Awesome Lists containing this project

README

          

# 🌦️ Weather App

Welcome to the **Weather App**! This elegantly designed weather application provides you with real-time weather information for any city 🌍. Simply enter a location, and the app will display the current weather conditions, including temperature, humidity, and wind speed πŸ’¨.

**🌦️ Try the Weather App here: [Weather App](https://hashimthepassionate.github.io/weather-app/)**

## πŸ“‹ Table of Contents

- [🌦️ Weather App](#️-weather-app)
- [πŸ“‹ Table of Contents](#-table-of-contents)
- [✨ Features](#-features)
- [πŸ’» Tech Stack](#-tech-stack)
- [πŸš€ Installation and Setup](#-installation-and-setup)
- [πŸ› οΈ Usage](#️-usage)
- [πŸ“Έ Screenshots](#-screenshots)
- [Home Page](#home-page)
- [Weather Information](#weather-information)
- [🌐 API Used](#-api-used)
- [🀝 Contributing](#-contributing)
- [πŸ“œ License](#-license)

## ✨ Features

- 🌑️ **Temperature Display**: Shows the current temperature in Celsius.
- πŸŒ₯️ **Weather Description**: Provides a descriptive summary of the weather (e.g., sunny, cloudy).
- πŸ’¦ **Humidity Percentage**: Displays the current humidity level.
- πŸ’¨ **Wind Speed**: Shows the wind speed in km/h.
- πŸ”Ž **User-Friendly Search**: Easy-to-use search functionality for entering locations.
- 🎨 **Beautiful UI**: Designed with custom icons and smooth animations for an enhanced user experience.

## πŸ’» Tech Stack

This app uses the following technologies:

- **HTML5**: Structure of the web page πŸ“„
- **CSS3**: Styling to create an attractive and responsive layout 🎨
- **JavaScript (ES6)**: Data fetching and adding interactivity ✨
- **OpenWeatherMap API**: Provides real-time weather information 🌐

## πŸš€ Installation and Setup

To set up and run the Weather App on your local machine, follow these steps:

1. **Clone the Repository** πŸ“‚:
```bash
git clone https://github.com/HashimThePassionate/weather-app.git
```

2. **Navigate to the Project Directory** πŸšͺ:
```bash
cd weather-app
```

3. **Open `index.html` in Your Browser** 🌐:
```
open index.html
```

You should now see the Weather App interface, ready to provide weather details πŸ—ΊοΈ.

## πŸ› οΈ Usage

1. **Enter Your City**: Input your desired location in the text box labeled "Enter your location" πŸŒ†.
2. **Search for Weather Information**: Click on the search button πŸ” to retrieve the weather details.
3. The app will display:
- 🌑️ **Temperature**: Current temperature in Celsius.
- πŸŒ₯️ **Weather Description**: For example, "broken clouds" or "rain".
- πŸ’¦ **Humidity**: Humidity percentage.
- πŸ’¨ **Wind Speed**: Wind speed in km/h.

If an invalid location is entered, an alert will prompt you to enter a valid city name 🚨.

## πŸ“Έ Screenshots

### Home Page
![Weather App Home](./images/weather-home-page.PNG)

### Weather Information
![Weather Information](./images/weather-information.PNG)

## 🌐 API Used

The **OpenWeatherMap API** is used to fetch real-time weather data based on the entered city name πŸ—ΊοΈ. The API provides data such as temperature, humidity, wind speed, and a brief weather description.

To use the app, you need an API key from [OpenWeatherMap](https://openweathermap.org/api). Once you have your key, replace the `APIKey` variable in `index.js` πŸ”‘.

## 🀝 Contributing

We welcome all contributions to make this project even better! ✨ Here's how you can get involved:

1. **Fork the Repository** 🍴
2. **Create a New Branch** for Your Feature or Bug Fix 🌿:
```bash
git checkout -b feature-branch
```
3. **Make Changes and Commit** πŸ“:
```bash
git commit -m "Add a new amazing feature"
```
4. **Push to Your Branch** πŸš€:
```bash
git push origin feature-branch
```
5. **Open a Pull Request** πŸ“¬

We appreciate all improvements, from fixing a typo to suggesting an entirely new feature! 😊

## πŸ“œ License

This project is licensed under the [**MIT License**](./LICENSE) πŸ“„. You are free to use, modify, and distribute this software as per the terms of the license.