{"id":19844862,"url":"https://github.com/lucasrmagalhaes/cities_api-java","last_synced_at":"2025-10-12T00:13:55.722Z","repository":{"id":46250971,"uuid":"324398363","full_name":"lucasrmagalhaes/cities_api-java","owner":"lucasrmagalhaes","description":"API REST de Consulta de Cidades do Brasil.","archived":false,"fork":false,"pushed_at":"2021-11-07T22:25:13.000Z","size":728,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-29T18:57:34.068Z","etag":null,"topics":["api-rest","docker","heroku","java-8","springinitializr"],"latest_commit_sha":null,"homepage":"https://cities-api-dio-java.herokuapp.com/","language":"Java","has_issues":true,"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/lucasrmagalhaes.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}},"created_at":"2020-12-25T16:44:28.000Z","updated_at":"2025-01-16T10:37:31.000Z","dependencies_parsed_at":"2022-08-30T14:50:47.368Z","dependency_job_id":null,"html_url":"https://github.com/lucasrmagalhaes/cities_api-java","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lucasrmagalhaes/cities_api-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fcities_api-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fcities_api-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fcities_api-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fcities_api-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasrmagalhaes","download_url":"https://codeload.github.com/lucasrmagalhaes/cities_api-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fcities_api-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009475,"owners_count":26084609,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api-rest","docker","heroku","java-8","springinitializr"],"created_at":"2024-11-12T13:05:48.650Z","updated_at":"2025-10-12T00:13:55.709Z","avatar_url":"https://github.com/lucasrmagalhaes.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eAPI REST de Consulta de Cidades do Brasil\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/lucasrmagalhaes/cities_api-java/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/lucasrmagalhaes/cities_api-java\" /\u003e \n  \u003c/a\u003e\n    \n  \u003ca href=\"https://github.com/lucasrmagalhaes/cities_api-java/network/members\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/lucasrmagalhaes/cities_api-java\" /\u003e \n  \u003c/a\u003e\n    \n  \u003ca href=\"https://github.com/lucasrmagalhaes/cities_api-java/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/lucasrmagalhaes/cities_api-java\" /\u003e \n  \u003c/a\u003e\n  \n   \u003ca href=\"https://github.com/lucasrmagalhaes/cities_api-java/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/lucasrmagalhaes/cities_api-java\" /\u003e \n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://cities-api-dio-java.herokuapp.com/\"\u003e\n    \u003cimg \n         src=\"https://github.com/lucasrmagalhaes/cities_api-java/blob/master/src/main/resources/images/cities-api.gif\" \n         alt=\"Cities API\" \n    /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n##### Endpoints\n[/cities](https://cities-api-dio-java.herokuapp.com/cities \"/cities\")\n\u003cbr /\u003e\n[/countries](https://cities-api-dio-java.herokuapp.com/countries?page=5\u0026size=50\u0026sort=id,asc \"/countries\")\n\u003cbr /\u003e\n[/countries/{id}](https://cities-api-dio-java.herokuapp.com/countries/1 \"/countries/{id}\")\n\u003cbr /\u003e\n[/states](https://cities-api-dio-java.herokuapp.com/states \"/states\")\n\u003cbr /\u003e\n[/distances/by-cube](https://cities-api-dio-java.herokuapp.com/distances/by-cube?from=4929\u0026to=5254 \"/distances/by-cube\")\n\u003cbr /\u003e\n[/distances/by-points](https://cities-api-dio-java.herokuapp.com/distances/by-points?from=4929\u0026to=5254 \"/distances/by-points\")\n\n##### Framework do Projeto\n- [Spring Initializr](https://start.spring.io/ \"Spring Initializr\")\n- **Project:** Gradle Project\n- **Language:** Java\n- **Spring Boot:** 2.4.1\n\n##### Project Metadata\n- **Group:** com.github.lucasrmagalhaes\n- **Artifact:** cities-api\n- **Name:** cities-api\n- **Description:** Demo Project for Spring Boot\n- **Package name:** com.github.lucasrmagalhaes.cities-api\n- **Packaging:** Jar\n- **Java:** 8\n\n##### Dependencies\n- Spring Web\n- Spring Data JPA\n- PostgreSQL Driver\n\n##### DataBase\n- [Postgres Docker Hub](https://hub.docker.com/_/postgres \"Postgres Docker Hub\")\n\n```\ndocker pull postgres\n```\n\n```\ndocker run --name cities-db -d -p 5432:5432 -e POSTGRES_USER=postgres_user_city -e POSTGRES_PASSWORD=super_password -e POSTGRES_DB=cities postgres\n```\n\n##### Properties\n- [Spring](https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html \"Spring\")\n- [JDBC](https://www.codejava.net/java-se/jdbc/jdbc-database-connection-url-for-common-databases \"JDBC\")\n\n##### Populate\n- [Data](https://github.com/chinnonsantos/sql-paises-estados-cidades/tree/master/PostgreSQL \"Data\")\n```\ngit clone git@github.com:chinnonsantos/sql-paises-estados-cidades.git\n```\n\n```\ncd sql-paises-estados-cidades/\n```\n\n```\ncd PostgreSQL/\n```\n\n```\ncd ~/workspace/sql-paises-estados-cidades/PostgreSQL\n```\n\n```\nwinpty docker run -it --rm --net=host -v $PWD:/tmp postgres /bin/bash\n```\n\n##### Windows\n```\ndocker run -it --rm --net=host -v c:\\Users\\Lucas\\Desktop\\Workspace\\cities_api-java\\sql-paises-estados-cidades\\PostgreSQL:/tmp postgres /bin/bash\n```\n\n```\npsql -h localhost -U postgres_user_city cities\n```\n\n```\n\\d pais;\n```\n\n```\nselect * from pais;\n```\n\n##### List\n```\nhttp://localhost:8080/countries\n```\n\n##### Pageable - /countries\n```\nhttp://localhost:8080/countries?page=0\u0026size=10\u0026sort=name,asc\n```\n```\nhttp://localhost:8080/countries?page=0\u0026size=10\u0026sort=name,desc\n```\n```\nhttp://localhost:8080/countries?page=0\u0026size=50\u0026sort=id,asc\n```\n\n##### /countries/id\n```\nhttp://localhost:8080/countries/1\n```\n```\nhttp://localhost:8080/countries/255\n```\n\n```\npsql -h localhost -U postgres_user_city cities -f /tmp/estado.sql\n```\n```\npsql -h localhost -U postgres_user_city cities -f /tmp/cidade.sql\n```\n```\npsql -h localhost -U postgres_user_city cities\n```\n\n```\n\\d cidade;\n```\n```\nselect * from cidade;\n```\n```\nselect * from estado;\n```\n```\n\\d estado;\n```\n```\nhttp://localhost:8080/states\n```\n```\n\\d cidade;\n```\n```\nhttp://localhost:8080/cities\n```\n\n```\nCREATE EXTENSION cube; \n```\n```\nCREATE EXTENSION earthdistance;\n```\n\n##### Query Earth Distance\n\n###### Point\n```\nselect ((select lat_lon from cidade where id = 4929) \u003c@\u003e (select lat_lon from cidade where id=5254)) as distance;\n```\n```\nselect lat_lon from cidade where id=5254;\n```\n\n###### Cube\n```\nselect earth_distance(\n    ll_to_earth(-21.95840072631836,-47.98820114135742), \n    ll_to_earth(-22.01740074157715,-47.88600158691406)\n) as distance;\n```\n\n```\nhttp://localhost:8080/distances/by-points?from=4929\u0026to=5254\n```\n```\nhttp://localhost:8080/distances/by-cube?from=4929\u0026to=5254\n```\n\n```\nheroku create\n```\n```\ngit remote -v\n```\n```\ngit push heroku master\n```\n```\nheroku addons:create heroku-postgresql\n```\n\n```\ndocker run -it --rm --net=host -v c:\\Users\\Lucas\\Desktop\\cities_api-java\\sql-paises-estados-cidades\\PostgreSQL:/tmp postgres /bin/bash\n```\n\n```\npsql -h host -U user database -f /tmp/pais.sql\n```\n```\npsql -h host -U user database -f /tmp/estado.sql\n```\n```\npsql -h host -U user database -f /tmp/cidade.sql\n```\n```\npsql -h host -U user database\n```\n\n```\nCREATE EXTENSION cube; \n```\n```\nCREATE EXTENSION earthdistance;\n```\n\n```\nheroku logs --tail\n```\n\n```\ngit push heroku master\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasrmagalhaes%2Fcities_api-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasrmagalhaes%2Fcities_api-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasrmagalhaes%2Fcities_api-java/lists"}