Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

Weather App: Seamlessly access real-time weather updates and forecasts with an intuitive interface and city search functionality.
https://github.com/princeinscripts/weather-app

api axios npm react react-icon react-loader-spinner react-router-dom

Last synced: 1 day ago
JSON representation

Weather App: Seamlessly access real-time weather updates and forecasts with an intuitive interface and city search functionality.

Awesome Lists containing this project

README

        

A Blogging WriteWave Web App

* [Configuration and Setup](#configuration-and-setup)
* [Key Features](#key-features)
* [Technologies used](#technologies-used)
- [App](#App)
- [Api](#api)
- [Database](#database)
* [📸 Screenshots](#screenshots)

## Configuration and Setup

In order to run this project locally, simply fork and clone the repository or download as zip and unzip on your machine.

- Open the project in your prefered code editor.
- Go to terminal -> New terminal (If you are using VS code)
- Split your terminal into two (run the Frontend on one terminal and the Backend on the other terminal)

In the first terminal

```
$ cd App
$ npm install (to install frontend-side dependencies)
$ npm run start (to start the frontend)
```

## Key Features

- Users can search for weather information in different cities.
- Provides real-time data on the current weather conditions.
- Displays an hourly forecast to show how weather conditions will change throughout the day.
- Offers a daily forecast to provide insights into weather expectations for an extended period.
- Includes location details such as city name and region.
- Shows the last updated timestamp for the weather information.
- Utilizes weather icons to visually represent different weather conditions.
- Presents current temperature and feels-like temperature.
- Provides sunrise and sunset times for the day.
- Ensures a responsive design for a seamless user experience across various devices.
- Switches between day and night background images based on the time of day.
- Develops a user-friendly interface with intuitive navigation and clear presentation of weather data.
- Includes loading spinners and indicators to provide visual feedback during data fetching.


## Technologies used

This project was created using the following technologies.

#### App

- [React js ](https://www.npmjs.com/package/react) - JavaScript library that is used for building user interfaces specifically for single-page applications
- [React Hooks ](https://reactjs.org/docs/hooks-intro.html) - For managing and centralizing application state
- [react-router-dom](https://www.npmjs.com/package/react-router-dom) - To handle routing
- [axios](https://www.npmjs.com/package/axios) - For making Api calls
- [Tailwind CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) - For User Interface
- [React icons](https://react-icons.github.io/react-icons/) -
Small library that helps you add icons to your react apps.

#### api

- [weather api ](https://www.weatherapi.com/) - A comprehensive weather API that offers real-time weather data, including current conditions, hourly and daily forecasts. Users can search for weather information in specific cities, and the API provides essential details such as temperature, humidity, wind speed, UV index, and more.
- [locationiQ api ](https://docs.locationiq.com/docs/introduction) - A powerful geocoding and location-based services API. It goes beyond weather data, providing rich information about locations, addresses, and geographical coordinates. Developers can leverage this API to enhance their applications with accurate location intelligence, making it a valuable tool for various location-based functionalities.

## Screenshots

![1](https://github.com/PrinceInScripts/Blog-App/assets/124567410/10fe5fac-c712-44ed-bc6a-b4ef97ee7865)
![2](https://github.com/PrinceInScripts/Blog-App/assets/124567410/1ed59ffa-7142-4907-968a-1a7762bfd34a)
![3](https://github.com/PrinceInScripts/Blog-App/assets/124567410/82eef8b7-3365-432e-935d-53d1803c5a5b)
![4](https://github.com/PrinceInScripts/Blog-App/assets/124567410/7d1c244f-1f30-4f2a-a357-03bdfaf720d9)
![5](https://github.com/PrinceInScripts/Blog-App/assets/124567410/6ce7442f-58b0-45cc-b460-13399b367bed)
![6](https://github.com/PrinceInScripts/Blog-App/assets/124567410/0ef539fe-554e-4312-8f25-92b248a7bf4c)
![7](https://github.com/PrinceInScripts/Blog-App/assets/124567410/f0d11c22-f7b0-407a-b5d1-96c2858d1ef5)
![8](https://github.com/PrinceInScripts/Blog-App/assets/124567410/471132a9-be9a-4faa-9420-85a3833b65a5)
![9](https://github.com/PrinceInScripts/Blog-App/assets/124567410/9ffd7841-a1f0-47a8-81ae-2ae0c8699b94)
![10](https://github.com/PrinceInScripts/Blog-App/assets/124567410/bf4e2d25-ff8e-4a8f-9ff5-9be511f169b2)
![11](https://github.com/PrinceInScripts/Blog-App/assets/124567410/90970ec2-9b1f-4715-8865-1ea6838d6af0)
![12](https://github.com/PrinceInScripts/Blog-App/assets/124567410/7ba63bbf-793b-4009-9701-70a44578d047)