{"id":16891619,"url":"https://github.com/kasramp/eris","last_synced_at":"2025-03-22T08:31:16.380Z","repository":{"id":16603457,"uuid":"80327548","full_name":"kasramp/Eris","owner":"kasramp","description":"Eris Weather API","archived":false,"fork":false,"pushed_at":"2024-04-23T22:12:02.000Z","size":495,"stargazers_count":12,"open_issues_count":7,"forks_count":2,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-05-02T02:12:59.033Z","etag":null,"topics":["java","spring-boot","weather-api","weather-api-java"],"latest_commit_sha":null,"homepage":"https://eris.madadipouya.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kasramp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"kasramp","custom":"https://paypal.me/Madadipouya"}},"created_at":"2017-01-29T03:56:33.000Z","updated_at":"2024-06-13T18:32:04.481Z","dependencies_parsed_at":"2024-06-13T18:32:03.451Z","dependency_job_id":"45b20d35-fac6-4343-9e89-f8925a654cf5","html_url":"https://github.com/kasramp/Eris","commit_stats":null,"previous_names":[],"tags_count":99,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasramp%2FEris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasramp%2FEris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasramp%2FEris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasramp%2FEris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasramp","download_url":"https://codeload.github.com/kasramp/Eris/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244931480,"owners_count":20534008,"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":["java","spring-boot","weather-api","weather-api-java"],"created_at":"2024-10-13T17:08:08.776Z","updated_at":"2025-03-22T08:31:14.900Z","avatar_url":"https://github.com/kasramp.png","language":"Java","funding_links":["https://github.com/sponsors/kasramp","https://paypal.me/Madadipouya"],"categories":[],"sub_categories":[],"readme":"# Eris ![Release](https://github.com/kasramp/Eris/actions/workflows/build_and_release.yml/badge.svg) [![SonarCloud](https://sonarcloud.io/api/project_badges/measure?project=Eris\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=Eris)\n\nEris is an open source weather API to get the current weather condition across the globe.\n\n## Description\n\nEris is a simple Spring Boot Java API that is developed as a consolidation of the following services:\n- [Open Weather Map](https://openweathermap.org/)\n- [Open Street Map](http://openstreetmap.org/)\n- [Group Kt](http://www.groupkt.com/post/f2129b88/services.htm)\n- [IP API](http://ip-api.com/)\n\nThe technology stack consists of Spring Boot framework only. The free version of the service is also hosted on Heroku. Though the API can be hosted in any platform that supports Spring Boot. Feel free to fork it and create your private API.\n\n## Dependencies\n\nThe project depends on JDK 17 and Maven. Make sure to have them installed. Any other project dependencies exist in pom.xml file and once you run the project, they will be downloaded.\n\n## Development\n\nEris can operate in **two modes**:\n  - Standalone: single node (default)\n  - Cluster: multiple nodes registering with Consul\n\n### Standalone mode\n\nTo run the project in standalone mode just run,\n\n```bash\n$ mvn spring-boot:run\n```\n\n### Cluster mode \n\nTo test the cluster mode, you need to have the Consul agent up and running. You can use `docker-compose.yml` file included in the project,\n\n```bash\n$ docker-compose -f docker-compose.yml up\n```\n\nAfter that, enable the cluster mode via exporting the following environment variable,\n\n```bash\n$ export SPRING_CLOUD_CONSUL_ENABLED=true\n```\n\nLastly, run the project,\n\n```bash\n$ mvn spring-boot:run\n```\n\nYou can monitor the Eris instance via Consul UI at [http://localhost:8500/ui](http://localhost:8500/ui).\n\n## Build JAR file\n\nIf you decide to build your own Über-JAR file to deploy either locally or on a server, after cloning the project, you have to set `openweathermap` key\nand `actuator.username` and `actuator.password`. For that, modify `apikey.properties` and `application.properties` file respectively before generating\nthe JAR file. Alternatively, you can overwrite them those variables at runtime, see `Dockerfile` for all variable names.\n\nTo generate the Über-JAR, run:\n\n```bash\n$ maven clean install\n```\n\nTo test the generated JAR file,\n\n```bash\n$ cd target\n$ java -jar eris-[version]-SNAPSHOT.jar\n```\n\n## Heroku deployment\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/kasramp/Eris)\n\n## Project \u0026 API documentation\n\nTo know more about the project structure and API documentation please refer to our Github page [documentation](https://eris.madadipouya.com/#apicall) at this link.\n\n## Contact\n\n* kasra@madadipouya.com\n\n## License\n\n\u003cp\u003e\n\u003cimg src=\"https://www.gnu.org/graphics/gplv3-127x51.png\" alt=\"License\"/\u003e\n\u003c/p\u003e\nEris Weather API is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License version 3\nas published by the Free Software Foundation.\n\nEris Weather API is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.  \u003chttp://www.gnu.org/licenses/\u003e\n\nAuthor(s):\n\n© 2017-2024 Kasra Madadipouya \u003ckasra@madadipouya.com\u003e \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasramp%2Feris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasramp%2Feris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasramp%2Feris/lists"}