{"id":20094975,"url":"https://github.com/shadowxpa/weather","last_synced_at":"2026-04-09T21:03:10.224Z","repository":{"id":252703746,"uuid":"839013381","full_name":"ShadowXPA/weather","owner":"ShadowXPA","description":"The typical Weather app using OpenWeatherMap and Geocoding APIs","archived":false,"fork":false,"pushed_at":"2024-09-10T15:52:49.000Z","size":1464,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-13T03:33:03.014Z","etag":null,"topics":["api","bootstrap","geocoding-api","java","javascript","jquery","openweathermap-api","spring-boot","thymeleaf"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShadowXPA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-08-06T19:43:24.000Z","updated_at":"2024-09-10T15:53:17.000Z","dependencies_parsed_at":"2024-11-13T16:53:32.273Z","dependency_job_id":"37b7609d-b9ca-4c89-acda-7134c406efcd","html_url":"https://github.com/ShadowXPA/weather","commit_stats":null,"previous_names":["shadowxpa/xpa-weather"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShadowXPA%2Fweather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShadowXPA%2Fweather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShadowXPA%2Fweather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShadowXPA%2Fweather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShadowXPA","download_url":"https://codeload.github.com/ShadowXPA/weather/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241533777,"owners_count":19977850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","bootstrap","geocoding-api","java","javascript","jquery","openweathermap-api","spring-boot","thymeleaf"],"created_at":"2024-11-13T16:53:22.475Z","updated_at":"2026-04-09T21:03:05.178Z","avatar_url":"https://github.com/ShadowXPA.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XPA Weather\n\nThe typical Weather app using [OpenWeatherMap](https://openweathermap.org/) and [Geocoding](https://geocode.maps.co) APIs.\n\n## Web application\n\n![Main Page](screenshots/screenshot-1.png \"Main page\")\n![Main Page](screenshots/screenshot-2.png \"Main page\")\n\nThe application lets you insert your weather and geocoding API keys in their respective fields.\nAfter you have inserted the keys, you can type in a location, or use the `Use my location` button to get your address automatically.\nThen simply get the weather.  \nYou will see the location, the current weather, and the forecast for the next 5 days with 3-hour steps.  \nThis application supports both English and Portuguese languages (through [Accept-Language header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language)).  \n\n## API\n\n### Get weather\n\n**GET** `/api/v1/weather?q={location}\u0026geo-api-key={geocodingApiKey}\u0026weather-api-key={weatherApiKey}\u0026units={unitsOfMeasurement}\u0026lang={language}`  \n\nGets the weather for a determined location.  \n`q, geo-api-key, and weather-api-key` are all mandatory fields, `units, and lang` are optional fields.  \nThe default value for `units` is `metric`, and it only accepts `metric` or `imperial`.  \n\n\u003cdetails\u003e\n\u003csummary\u003eExample response\u003c/summary\u003e\n\n```json\n{\n  \"coordinates\": {\n    \"latitude\": 40.7127281,\n    \"longitude\": -74.0060152,\n    \"location\": \"New York, United States\"\n  },\n  \"location\": \"New York\",\n  \"units\": \"IMPERIAL\",\n  \"condition\": \"Clear\",\n  \"description\": \"clear sky\",\n  \"icon\": \"01d\",\n  \"temperature\": 81.99,\n  \"feelsLike\": 81.93,\n  \"pressureSeaLevel\": 1013,\n  \"pressureGroundLevel\": 1012,\n  \"humidity\": 44,\n  \"cloudiness\": 0,\n  \"windSpeed\": 13.8,\n  \"windDirection\": 270,\n  \"visibility\": 10000,\n  \"countryCode\": \"US\",\n  \"sunrise\": 1723370576,\n  \"sunset\": 1723420771,\n  \"datetime\": 1723409793,\n  \"timezone\": -14400,\n  \"forecastList\": [\n    {\n      \"condition\": \"Clear\",\n      \"description\": \"clear sky\",\n      \"icon\": \"01n\",\n      \"temperature\": 81.46,\n      \"feelsLike\": 81.34,\n      \"pressureSeaLevel\": 1013,\n      \"pressureGroundLevel\": 1012,\n      \"humidity\": 43,\n      \"cloudiness\": 9,\n      \"windSpeed\": 11.68,\n      \"windDirection\": 261,\n      \"visibility\": 10000,\n      \"precipitation\": 0,\n      \"datetime\": 1723420800,\n      \"timezone\": -14400\n    },\n    {\n      \"condition\": \"Clouds\",\n      \"description\": \"scattered clouds\",\n      \"icon\": \"03n\",\n      \"temperature\": 78.1,\n      \"feelsLike\": 77.86,\n      \"pressureSeaLevel\": 1014,\n      \"pressureGroundLevel\": 1013,\n      \"humidity\": 48,\n      \"cloudiness\": 25,\n      \"windSpeed\": 9.78,\n      \"windDirection\": 284,\n      \"visibility\": 10000,\n      \"precipitation\": 0,\n      \"datetime\": 1723431600,\n      \"timezone\": -14400\n    },\n    ...\n    {\n      \"condition\": \"Clear\",\n      \"description\": \"clear sky\",\n      \"icon\": \"01d\",\n      \"temperature\": 80.42,\n      \"feelsLike\": 80.98,\n      \"pressureSeaLevel\": 1017,\n      \"pressureGroundLevel\": 1015,\n      \"humidity\": 48,\n      \"cloudiness\": 9,\n      \"windSpeed\": 12.48,\n      \"windDirection\": 163,\n      \"visibility\": 10000,\n      \"precipitation\": 0,\n      \"datetime\": 1723842000,\n      \"timezone\": -14400\n    }\n  ]\n}\n```\n\u003c/details\u003e\n\n### Get address\n\n**GET** `/api/v1/geocoding?lat={latitude}\u0026lon={longitude}\u0026geo-api-key={geocodingApiKey}`  \n\nGets the address given the latitude and longitude values.  \nAll fields are mandatory.  \n\n\u003cdetails\u003e\n\u003csummary\u003eExample response\u003c/summary\u003e\n\n```json\n{\n    \"address\": \"New York City Hall, 260, Broadway, Lower Manhattan, Manhattan Community Board 1, Manhattan, New York County, New York, 10000, United States\"\n}\n```\n\u003c/details\u003e\n\n## Installation\n\n### Prerequisites\n\n- [Java 17+](https://www.oracle.com/java/technologies/downloads/)\n- [OpenWeatherMap API Key](https://openweathermap.org/)\n- [Geocoding API Key](https://geocode.maps.co)\n\n### Run\n\nHead to the [Releases](https://github.com/ShadowXPA/weather/releases/latest) tab and download the latest version available.  \nTo run the application simply use `java -jar weather-[VERSION].jar` in the console.  \n\nYou can also run it from your IDE by running the main function.  \n\nOpen a browser window and head to `localhost:8080` to start using the web application.  \nYou will need an [OpenWeatherMap](https://openweathermap.org/) API key and a [Geocoding](https://geocode.maps.co) API key.  \nCreate an account with both services to get a key (it's free).  \nInsert each key in their respective text inputs.\nIf you do not want to keep inserting the keys all the time press the save button.\nIt will save your keys in the browser's local storage.  \nInsert a location, and get the weather (provided by OpenWeatherMap).  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadowxpa%2Fweather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshadowxpa%2Fweather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadowxpa%2Fweather/lists"}