mdkwe / Forecast

Stay informed about the weather conditions effortlessly.

Home Page:https://forecast-409614.ew.r.appspot.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Weather Forecast Application

Project Overview

The Weather Forecast Application is a web-based tool providing current and future weather information. Leveraging APIs like Geoapify for geolocation services and OpenWeatherMap for weather data, this app features an intuitive interface with autocomplete functionality for searching city names.

Interface Screenshots

Here are some screenshots showcasing the interface:

  • Forecast. Home page.
  • Forecast. Search page example.

Live Preview

Access a live preview of the application, hosted on Google Cloud: Weather Forecast Application Preview

Input/Output Model of the Backend

Input:

  • City Name: User input for the desired city's weather information.

Process:

  • Geocoding: Utilizing the Geoapify API to convert city names into geographical coordinates.
  • Weather Data Retrieval: Fetching weather data from OpenWeatherMap API using coordinates.

Output:

  • Weather Information: Displaying data such as temperature, humidity, and wind speed for the selected location.

Installation and Setup

To set up the project locally:

  1. Clone the Repository:
git clone https://github.com/mdkwe/Forecast.git
cd Forecast
  1. Create a Virtual Environment:
  • Unix/MacOS:
    python3 -m venv venv
    source venv/bin/activate
    
  • Windows:
    python -m venv venv
    venv\\Scripts\\activate
    
  1. Install Dependencies:
pip install -r requirements.txt
  1. Create .env files in the app folder for API Keys:
API_KEY_WEATHER = '[Your OpenWeather API Key]'
API_KEY_GEO = '[Your Geoapify API Key]'
API_KEY_MAIL = '[Your Web3forms API Key]'

4.Run the Application

python main.py

TO DO List (Future Enhancements)

  • Implement User Authentication for personalized experiences as message for daily update about weather.
  • Implement additional error handling and validation for user inputs.
  • Develop a mobile-responsive design.
  • Optimize API usage to reduce load times
  • Improve UI/UX design for a more engaging user interface.

About

Stay informed about the weather conditions effortlessly.

https://forecast-409614.ew.r.appspot.com/


Languages

Language:HTML 85.1%Language:Python 6.4%Language:JavaScript 6.3%Language:CSS 2.1%