This is a weather application built using MySQL, Spring Boot, Maven and Vaadin. The application allows users to register, login, and view weather details.
- User Registration: New users can register to the application by providing a username and password.
- User Login: Registered users can login to the application using their username and password.
- Weather Details: The application provides detailed weather information including latitude, longitude, time, weather code, maximum wind speed at 10m, maximum temperature at 2m, and rain sum.
The project is structured into several packages:
com.weatherapp.services: Contains theUserServiceinterface and its implementation. TheUserServiceinterface defines methods for user registration and fetching user details.com.weatherapp.views: Contains theRegisterViewclass which handles user registration.com.weatherapp.detail: Contains theDailyUnitsDetailclass which represents the detailed weather information.
To set up the project on your local machine, follow these steps:
- Clone the repository to your local machine.
- Navigate to the project directory.
- Run
mvn clean installto build the project and install the dependencies. - Start the application by running
mvn spring-boot:run. - For DataBase setup, create a database named
weatherin MySQL. - Update the
application.propertiesfile with your MySQL username and password. - Use WeatherDB.sql file to create the required tables in the database.
To use the application:
- Open your web browser and navigate to
http://localhost:8080/register. - Register a new user by providing a username and password.

- Login to the application using the registered username and password.

- Landing page will be displayed after successful login.

- Enter the city name to view the city list.

- View the weather details.

Contributions are welcome. Please make sure to update tests as appropriate.