This project allows users to explore and analyze climate trends, compare weather data between locations, and receive real-time updates on weather conditions. It leverages weather and climate APIs to provide interactive and insightful visualizations, making it easier to understand and plan for changing weather patterns.
- Akram Klai - AkramKlai
- Reena Obmina - rmobmina
- Edison Yao - DojimaRyu
- Bader Alseiari - bader11678
- Arham Mohammed - arham-w17
The Weather App was developed to simplify the understanding of climate and weather data for users. The project provides tools to analyze historical and real-time weather trends, compare data between locations, and plan daily or long-term activities based on accurate forecasts.
- Weather data is often presented in raw formats that are hard to interpret for general users. This project makes the data accessible and visually engaging.
- The project addresses the need for a tool that allows both casual users and researchers to visualize, analyze, and interact with weather trends.
Understanding climate data can be overwhelming due to its complexity. This project solves this by presenting intuitive visualizations and summaries, making it easier for users to explore weather patterns and trends over time.
- Features of the Software
- Installation Instructions
- Usage Guide
- License
- Feedback
- Contributions
- Visual Examples
-
Interactive Graphs for Climate Trends
- Users can visualize temperature, precipitation, and other climate data over time using line, bar, or Mercator graphs.
-
Weekly Weather Forecasts
- Provides a summarized 7-day forecast (or customizable forecast up to 16 days) including:
- Maximum and minimum temperatures.
- Precipitation levels.
- Wind speeds.
- Provides a summarized 7-day forecast (or customizable forecast up to 16 days) including:
-
City Comparisons Over Range of Time
- Allows users to compare average temperature, precipitation, humidity, and wind speeds between two cities.
- Helps analyze differences in climates and identify trends.
- Specify a range of time of your liking.
-
Interactive Map
- Click on a Mercator map to view the current temperature of any location.
-
Favorite Locations
- Save favorite locations for quick access to their weather data.
- Add or remove entries as needed to personalize your experience.
-
Hourly Weather Forecast and Recommendations
- Get detailed hourly weather predictions for the day, including highs, lows, and major changes.
- Receive personalized recommendations (e.g., reminders for umbrellas or sunscreen).
Follow these steps to install and run the Weather Application:
-
Clone the Repository
Clone this repository from GitHub to your local machine:git clone https://github.com/rmobmina/CSC207-Project.git
-
Build the Project
Use Maven to build the project and download dependencies:mvn clean install
-
Run Tests (with Mockito)
Ensure all tests pass, including those using Mockito. Run the following:mvn test -
Launch the Application
Start the application using your preferred IDE or via command line. Head to App.java and run the file. This should work for both Windows and MacOS.Enter a valid API key: 2d6d6124e844c3e976842b19833dfa3b
| Issue | Solution |
|---|---|
| Maven is not recognized as a command | Ensure Maven is added to your system PATH. Follow Maven Installation Guide. |
| Java version compatibility issues | Check if the installed JDK is version 1 or above. Use java -version to verify. |
| Graph rendering errors | Ensure JFreeChart version matches the required 1.5.3 version. |
Run the application using the provided setup instructions. Enter given API on console.
API Key: 2d6d6124e844c3e976842b19833dfa3b
- Access the main menu to select a feature.
- Choose from the following options:
- Weather Forecast: View daily or hourly weather forecasts.
- Historical Comparison: Compare weather data between two locations over a range of time.
- Mercator Map: Explore an interactive map with real-time weather data.
- For Weather Forecasts:
- Select daily or hourly forecasts.
- Generate a visualization using a Bar Graph or Line Graph.
- Make sure to fetch data first.
- For Weather Comparisons:
- Enter the names of two locations.
- Generate either a Bar Graph or Line Graph for comparison.
- Alter the range of time based on your liking.
- For Mercator Map:
- Interact with the map to explore and visualize weather data.
- Remember to double click.
- Experiment with the application's features to discover insights.
- Have fun!
Here is how our Hourly Forecast works...
This is the Daily Forecast in action.
And, of course, the favourites feature.
Users aren't restricted to a single city, we can do two!
The best for last.
This project does not have an official license. Unless explicitly stated, the code is intended for educational and non-commercial purposes only.
If you wish to use this project for other purposes, please contact the authors for permission.
We welcome your feedback to improve this project. Here's how you can provide feedback:
Email Us: Email the repository owner Reena, rmobmina@gmail.com. Expect to see a reply within 5 business days.
We welcome contributions from the community! Here's how you can contribute:
-
Fork the Project
Click the "Fork" button on GitHub and clone the repository locally. -
Create a Feature Branch
git checkout -b feature/new-feature
-
Commit Your Changes
git commit -m "Add a new feature" -
Push to Your Branch
git push origin feature/new-feature
-
Submit a Pull Request
Open a pull request in the original repository and describe the changes.












