The Real-Time Weather Monitoring System is a robust application designed to fetch, monitor, and analyze weather data for multiple cities in the world. The system utilizes the OpenWeatherMap API to retrieve real-time weather information and alerts users based on customizable temperature thresholds. It features an intuitive user interface built with Spring Boot, Thymeleaf, and Hibernate for seamless interaction and data management.
Backend
Frontend
Database
API Integration
Deployment
-
Real-Time Weather Data: Fetch current weather data every 5 minutes for major metro cities in India.
-
Temperature Alerts: Set personalized alerts for temperature thresholds (above/below) and receive email notifications.
-
Daily Weather Aggregation: Store and analyze daily weather data, including average, maximum, and minimum temperatures.
-
Historical Data Tracking: View historical weather data for specific cities with detailed reports.
-
User-Friendly Interface: A very user-friendly web application interface for easy navigation and data visualization.
To run this project, you will need to add the following environment variables to your .env file or application.properties
api_key
db_url
db_username
db_password
mail_port
mail_username
mail_password
- Java 17
- Spring Boot 3.2.5
- MySQL
- Maven
-
Clone the repository:
git clone https://github.com/Vineet1025/Weather-App.git cd Weather-App
-
Configure your application.properties for openweathermap api, database connection and notification alert:
api.key=${api_key} //Enter your openweathermap api key here //DB connection spring.datasource.url=${db_url} //Enter your database url (jdbc:mysql://localhost:3306/weather_app_db) spring.datasource.username=${db_username} //Enter your database username spring.datasource.password=${db_password} //Enter your database passward //Mail connection spring.mail.port=${mail_port} //Enter your mail port (587) spring.mail.username=${mail_username} //Enter your Email spring.mail.password=${mail_password} //Enter your passkey
-
Run the application:
mvn spring-boot:run
-
Access the application in your browser at http://localhost:8080/home
The application has been successfully deployed on an AWS EC2 instance, allowing for easy access and management of real-time weather data globally.
Accessing the Deployed Application
- You can access the live application at: http://13.201.204.129:8000/home
-
Set Up Alerts: Users can create alerts based on temperature thresholds and will receive notifications via email.
-
View Historical Data: Navigate to the historical data section to view past weather reports for your selected cities.
-
Dashboard: The main dashboard displays the current weather conditions and any active alerts.
Contributions are welcome! Please feel free to submit issues or pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Vineet Jain - LinkedIn - [email protected]
Project Link: https://github.com/Vineet1025/Weather-App
- OpenWeatherMap API for providing weather data.
- Spring Boot for an efficient backend framework.