MSc course: Advanced Topics of Object - Oriented Programming (Java)
Semester: 1
Project Completion Year: 2025
WeatherApp is a Java-based console application that retrieves and processes weather data using the wttr.in web service. The application fetches weather information in JSON format and allows users to search for weather conditions based on city names. The retrieved data is stored in a local database for later analysis and statistical calculations.
- Get weather data for a city: Retrieve real-time weather information, including temperature, humidity, wind speed, UV index, and weather description.
- Get average weather for a city: Calculate the average weather conditions for a specific city based on previous searches stored in the database.
- Get average weather for the last X days: Compute and display the average weather conditions for a specified number of days.
- Find the hottest city: Identify the city with the highest recorded temperature in the database.
- Find the coldest city: Identify the city with the lowest recorded temperature in the database.
- Find the most searched cities: Display the cities that have been searched the most by users.
The application uses a local SQLite database to store search results. Each record includes:
- City name
- Temperature (°C)
- Humidity (%)
- Wind speed (km/h)
- UV index
- Weather description
- Timestamp of the search
The application interacts with the wttr.in API, which provides weather data in JSON format. More details can be found in the official API documentation: wttr.in GitHub.
The Javadocs for this project are hosted on GitHub Pages. You can access them directly from the following link:
The documentation includes detailed descriptions for all classes, methods, and fields.
Apostolis Siampanis |
Dimitris Stylianou |
This project was developed as part of the "Advanced Topics of Object - Oriented Programming (Java)" MSc course at the University of Piraeus. Contributions and feedback are always welcome!
This project is licensed under the MIT License - see the LICENSE file for details.