{"id":29649973,"url":"https://github.com/rahul9332935/dice_-assignment","last_synced_at":"2026-04-13T21:32:06.769Z","repository":{"id":232010135,"uuid":"783232264","full_name":"Rahul9332935/dice_-Assignment","owner":"Rahul9332935","description":"weatherApp allows users to retrieve forecast summaries and hourly forecasts for specific locations.","archived":false,"fork":false,"pushed_at":"2024-04-09T03:49:13.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-22T04:51:44.078Z","etag":null,"topics":["java-8","rest-api","resttemplate","spring-boot"],"latest_commit_sha":null,"homepage":"https://dice-assignment-production.up.railway.app/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rahul9332935.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-07T10:02:56.000Z","updated_at":"2024-04-08T12:54:51.000Z","dependencies_parsed_at":"2025-07-22T04:36:10.649Z","dependency_job_id":"02622ba2-1cac-4c0f-aa6d-b2ee647830dc","html_url":"https://github.com/Rahul9332935/dice_-Assignment","commit_stats":null,"previous_names":["rahul9332935/dice_-assignment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Rahul9332935/dice_-Assignment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rahul9332935%2Fdice_-Assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rahul9332935%2Fdice_-Assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rahul9332935%2Fdice_-Assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rahul9332935%2Fdice_-Assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rahul9332935","download_url":"https://codeload.github.com/Rahul9332935/dice_-Assignment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rahul9332935%2Fdice_-Assignment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31771818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java-8","rest-api","resttemplate","spring-boot"],"created_at":"2025-07-22T04:36:07.139Z","updated_at":"2026-04-13T21:32:06.749Z","avatar_url":"https://github.com/Rahul9332935.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WeatherApp\n\nWeatherApp is a Spring Boot application that provides weather forecasts using external APIs. It allows users to retrieve forecast summaries and hourly forecasts for specific locations.\n[Deployed Link](https://dice-assignment-production.up.railway.app/)\n\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\n- Java JDK 8 or higher\n- Maven\n- IDE (e.g., IntelliJ IDEA, Eclipse)\n\n## API Endpoints\n\nThe API endpoints provide weather forecasts in JSON format. They require authentication using a client ID and client secret passed in the request headers.\n\n### Summary Endpoint\n\n- **URL:** `/weather/summary/{location}`\n- **Method:** `GET`\n- **Description:** Retrieves a summary of weather forecast for a specific location.\n- **Response:**\n  - Status Code 200 OK: Returns the weather forecast data in JSON format.\n  - Status Code 401 Unauthorized: If the provided credentials are invalid.\n  - Status Code 404 Not Found: If the forecast data for the specified location is not found.\n\n### Hourly Endpoint\n\n- **URL:** `/weather/hourly/{location}`\n- **Method:** `GET`\n- **Description:** Retrieves hourly weather forecast for a specific location.\n- **Response:**\n  - Status Code 200 OK: Returns the hourly weather forecast data in JSON format.\n  - Status Code 401 Unauthorized: If the provided credentials are invalid.\n  - Status Code 404 Not Found: If the forecast data for the specified location is not found.\n\n## UI Endpoints\n\nThe UI endpoints provide user-friendly interfaces to view weather forecasts.\n\n### Summary UI Endpoint\n\n- **URL:** `/ui/weather/summary/{location}`\n- **Method:** `GET`\n- **Description:** Displays a summary of weather forecast for a specific location.\n- **Response:** Renders a web page with the weather forecast summary.\n\n### Hourly UI Endpoint\n\n- **URL:** `/ui/weather/hourly/{location}`\n- **Method:** `GET`\n- **Description:** Displays hourly weather forecast for a specific location.\n- **Response:** Renders a web page with the hourly weather forecast.\n\n## Authentication\n\nThe API endpoints require Basic Authentication using a username and password provided in the request headers. Use the following credentials:\n\n- Username: rahul\n- Password: rahul\n\n### Installing\n\n1. Clone the repository:\n```git clone https://github.com/rahul9332935/weatherApp.git```\n\n2. Open the project in your preferred IDE.\n\n3. Configure the API keys:\n\n   - Open the `application.properties` file located in the `src/main/resources` directory.\n   - Replace the placeholder values with your actual API keys:\n   - `spring.application.name`: Name of the application.\n   - `X-RapidAPI-Key`: [API key for accessing the weather data service](https://rapidapi.com/wettercom-wettercom-default/api/forecast9).\n   - `weather.apiKey`: [API key for accessing weather data](https://openweathermap.org/forecast5#geo5).\n   - `X-RapidAPI-Host : forecast9.p.rapidapi.com`\n   - `server.port : 8084`.\n\n\n## How to Access the Application\n\nTo access the weather forecasts, you need to pass the following Basic Authentication credentials with your requests:\n\n- **Username**: rahul\n- **Password**: rahul\n\n4. Run the application:\n\n   You can run the application directly from your IDE.\n\n\n5. Access the application:\n\n   Once the application is running, you can access it at [http://localhost:8084](http://localhost:8084) in your web browser.\n\n\n## Built With\n\n- [Spring Boot](https://spring.io/projects/spring-boot) - Java framework for building web applications\n- [Thymeleaf](https://www.thymeleaf.org/) - Server-side Java template engine\n- [RestTemplate](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html) - Spring's HTTP client for consuming RESTful web services\n\n## Authors\n\n- [Rahul Kumar](https://github.com/rahul9332935)\n\n\n\n   \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahul9332935%2Fdice_-assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahul9332935%2Fdice_-assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahul9332935%2Fdice_-assignment/lists"}