This project is a weather application that utilizes a weather API to retrieve forecast data for specific cities. The application allows users to view weather forecasts either hourly or summarized for a selected city.
Full Stack
Backend-├─ Weather_App/ ├─ frontend/ -Weather_App(FrontEnd)│
Attached is a very short video walkthrough of all of the features https://drive.google.com/file/d/1J5OjrQA0-W4AdnyL5O1RDK8wdm5tc7jC/view?usp=sharing
Deployed Link- https://glittering-panda-de2e0d.netlify.app/
- Frontend: HTML, CSS, JavaScript
- Backend: Java (Spring Boot)
- API: OpenWeatherMap API
- Security: Spring Security with jwt Authentication
- Other Tools: fetch (for API requests), Bootstrap (for styling)
- *Api use for weather data- https://openweathermap.org/forecast5#name5 , https://rapidapi.com/developer/dashboard
- *Documentation-Open Api Swagger Documentation
- Forecast Summary: View summarized weather forecast including date, weather state, temperature, wind, precipitation, sunrise/sunset, moonrise/moonset, and sun hours.
- Hourly Forecast: Display hourly weather forecast with details such as date/time, description, temperature, feels like, humidity, wind speed, and cloud coverage.
- User Authentication: Secure login using Spring Security with username and password.
-
Clone the repository:
git clone https://github.com/gzbsingh/Weather_App.git
-
- Set up backend:Import the project into your IDE (e.g., IntelliJ IDEA).
-
- Run the Spring Boot application to start the backend server.Set up frontend:Navigate to the frontend directory.
-
- Open index.html in a web browser to access the weather application.Usage:
-
- Enter a city name and select the forecast type (Hourly or Summary).Click the "Search" button to retrieve the weather forecast.
-
- Security ConfigurationThe application uses Spring Security to secure endpoints. Basic Authentication is implemented for user login.
-
- API IntegrationThe application integrates with the OpenWeatherMap API to retrieve weather forecast data based on user input.
-
- Future ImprovementsImplement user registration and user-specific forecasts.Enhance UI/UX with interactive charts and maps
- Method: GET
- Description: Retrieves a summarized weather forecast for a specified city.
- Parameters:
- city: Name of the city for which the forecast is requested.
- Method: GET
- Description: Retrieves an hourly weather forecast for a specified city.
- Parameters:
- city: Name of the city for which the forecast is requested.
-
Method: POST
-
Description: Endpoint for user authentication using username and password.
-
Request Body:
- username: User's username(admin).
- password: User's password(admin).
This project is licensed under the MIT License.