Welcome to the Weather App – your ultimate companion for staying updated with the latest weather conditions! With features like real-time updates, personalized city management, and insightful weather-based tips, we ensure you're always prepared for whatever the skies bring.
The Weather App is a simple and user-friendly application designed to provide real-time weather updates. You can check the weather for any city or country, save your favorite locations, and view your search history. The app also offers helpful weather tips and motivational quotes to enhance your experience.
-
Real-Time Weather Information:
- Fetch weather data for any city or country.
- Displays temperature, humidity, wind speed, and weather conditions.
-
Predefined Cities:
- Quickly fetch weather for predefined cities in countries like the USA, India, Canada, Australia, and more.
-
Favorites Management:
- Add cities to your favorites list.
- View and fetch weather for your favorite cities.
-
Search History:
- Keeps track of your weather searches.
- View your search history in a tabular format.
-
Weather Tips and Quotes:
- Provides helpful tips and motivational quotes based on the current weather conditions.
-
Developer Information:
- Learn about the developers behind the app.
- Python 3.8 or higher
pip
(Python package manager)
-
Clone the repository:
git clone https://github.com/ovishkh/WeatherApp.git cd WeatherApp
-
Create a virtual environment:
python -m venv venv source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
-
Start the Application:
- Run
python app.py
to start the app.
- Run
-
Commands:
exit
: Quit the application.history
: View your search history.favorites
: Manage your favorite cities.about
: Learn more about the app and its developers.
-
Search Weather:
- Enter a country name to fetch weather for predefined cities in that country.
- Enter a city name to fetch weather for that specific city.
-
Favorites Menu:
- Option 1: View your favorite cities.
- Option 2: Add a city to your favorites.
- Option 3: Fetch weather for all your favorite cities.
Weather-App/
├── api/
│ ├── __init__.py
│ ├── weather_api.py
├── info/
│ ├── __init__.py
│ ├── info.py
│ ├── requirment.txt
│ ├── concept.txt
├── services/
│ ├── __init__.py
│ ├── history_service.py
├── models/
│ ├── __init__.py
│ ├── weather_model.py
├── favorites/
│ ├── __init__.py
│ ├── favorites_service.py
├── resources/
│ ├── __init__.py
│ ├── goods.py
├── app.py
This app uses the OpenWeatherMap API to fetch weather data. You need an API key to use this service.
- API Key: The app includes a default API key (
adb293c2eba52c05f58f2a3148b5bdcb
). Replace it with your own key if needed. - Base URL:
http://api.openweathermap.org/data/2.5/weather
The following Python libraries are required:
requests
: For making HTTP requests to the weather API.pandas
: For managing and displaying tabular data.
Install all dependencies using:
pip install -r info/requirements.txt
I welcome contributions to improve the Weather App! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE
file for details.
Our weather application project is a collaborative effort, with each team member handling specific components of the project. Below is the breakdown of responsibilities for each member:
-
Main Functionality:
- Handles the overall program execution (
main
function) and flow of the application. - Ensures smooth integration of different modules.
- Handles the overall program execution (
-
API Module:
- Manages API interactions to fetch weather data.
- Implements functions to connect with OpenWeatherMap and handle responses.
-
Weather Model (District-wise):
- Builds models to represent weather data for specific districts.
- Focuses on localized weather insights.
-
History Module:
- Implements the feature to store and retrieve weather search history.
- Supports viewing past searches in a tabular format.
-
Weather Movements:
- Handles features related to weather phenomena like rain and heatwaves.
-
Weather Model (Country-wide):
- Develops models to represent weather data on a national scale.
- Focuses on larger geographic regions and trends.
-
Favorites Module:
- Implements the functionality for users to save and view favorite cities or locations for weather updates.
-
Resources Module:
- Manages additional resources, such as user guides, FAQs, or external links for weather-related data.
-
Weather Movements:
- Covers snowfall and storms, including predictions and reports.
-
Info Module:
- Handles the
Info
class for app and developer details. - Manages the abstract class
AppInfo
and its implementation. - Displays app information and developer credits.
- Handles the
-
Project Report:
- Prepares and compiles the final project documentation.
- Summarizes application functionality, team contributions, and technical details.
This weather application provides real-time weather updates, historical data, and insights into various weather movements. It offers localized and country-wide reports and supports favorite locations for quick access. Developed collaboratively by Team Tengen, the project showcases robust modular design and innovative features.
Special thanks to our team members for their dedicated contributions:
- Ovi for spearheading the core application functionality and district-wise insights.
- Apra for national-scale weather models and resource management.
- Khalid for enriching the app with detailed information and professional documentation.
Version: 3.0
Developed by Team Tengen
Enjoy using the Weather App! Stay informed and prepared for any weather conditions. 🌤️