{"id":23991798,"url":"https://github.com/geoffreylgv/worldcountryapi","last_synced_at":"2025-04-14T17:05:30.235Z","repository":{"id":157347118,"uuid":"612716865","full_name":"geoffreylgv/WorldCountryAPI","owner":"geoffreylgv","description":"World Countries API","archived":false,"fork":false,"pushed_at":"2023-10-08T11:19:17.000Z","size":46,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T17:04:15.543Z","etag":null,"topics":["api","apirestfull","collaborate","devcycle","github","hacktoberfest","java","jetbrains","learn","microsoft","mysql","postgresql","postman","springboot","student-vscode"],"latest_commit_sha":null,"homepage":"","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/geoffreylgv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["buymeacoffee.com/geoffreylgv"]}},"created_at":"2023-03-11T19:09:37.000Z","updated_at":"2024-12-29T22:34:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"4cfe6cd7-49d9-4515-bebd-a252a9db8252","html_url":"https://github.com/geoffreylgv/WorldCountryAPI","commit_stats":null,"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoffreylgv%2FWorldCountryAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoffreylgv%2FWorldCountryAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoffreylgv%2FWorldCountryAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoffreylgv%2FWorldCountryAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geoffreylgv","download_url":"https://codeload.github.com/geoffreylgv/WorldCountryAPI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248923767,"owners_count":21183953,"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","apirestfull","collaborate","devcycle","github","hacktoberfest","java","jetbrains","learn","microsoft","mysql","postgresql","postman","springboot","student-vscode"],"created_at":"2025-01-07T19:59:59.723Z","updated_at":"2025-04-14T17:05:30.199Z","avatar_url":"https://github.com/geoffreylgv.png","language":"Java","funding_links":["buymeacoffee.com/geoffreylgv"],"categories":[],"sub_categories":[],"readme":"## Open Source Programs\n\u003cp\u003ePragrams are more than welcome \u003c/p\u003e\n \u003ca href=\"https://ghw.mlh.io/events/api-week\"\u003e\n \u003cimg width=\"800\" alt=\"GHW API Days\" src=\"https://github.com/geoffreylgv/API-world_countries/assets/52314615/8b72db59-ca8c-4942-b5ca-65c7211c4a58\"\u003e\n \u003c/a\u003e\n\n\n# WorldCountryAPI\n\u003cp\u003eAbout the project:\u003c/p\u003e\n\u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/geoffreylgv/WorldCountryAPI\"\u003e \n    \u003cimg src=\"https://img.shields.io/github/issues-pr/geoffreylgv/WorldCountryAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/geoffreylgv/WorldCountryAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/geoffreylgv/WorldCountryAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/geoffreylgv/WorldCountryAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/geoffreylgv/WorldCountryAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/geoffreylgv/WorldCountryAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/watchers/geoffreylgv/WorldCountryAPI\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003eTech Stack:\u003c/p\u003e\n\u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/java-%D0A384.svg?style=for-the-badge\u0026logo=oracle\u0026logoColor=white\"\u003e \n    \u003cimg src=\"https://img.shields.io/badge/springboot-%233372B6.svg?style=for-the-badge\u0026logo=springboot\u0026logoColor=white\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/mysql-FFFFFFFF.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=black\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Postman-FF6C37?style=for-the-badge\u0026logo=postman\u0026logoColor=white\"\u003e\n\u003c/p\u003e\n\n## Documentation\n\n### Running principal route for the API\n```bash\n  localhost:8090/country/api/v1\n```\n\n**The API provides the following functionalities:**\n\n##### Get a list of all countries:\n\n` Request: GET /countries`\n\nResponse: A JSON array containing all the countries in the system, with their respective ID, code, name (in French and English), alpha2 and alpha3 codes.\n##### Get a specific country by ID:\n\n`Request: GET /countries/{id}`\n\nResponse: A JSON object containing the details of the country with the specified ID, including its code, name (in French and English), alpha2 and alpha3 codes.\n\n##### Get a list of countries by name:\n\n`Request: GET /countries?name={name}`\n\nResponse: A JSON array containing all the countries whose name (in French or English) contains the specified search term, along with their respective ID, code, name (in French and English), alpha2 and alpha3 codes.\n\n##### Search for countries using any attribute:\n\n`Request: GET /countries/search?q={query}`\n\nResponse: A JSON array containing all the countries whose attribute contains the specified search term, their respective ID, code, name (in French and English), and alpha2 and alpha3 codes.\nThe API is implemented using Spring Boot and utilizes the JPA/Hibernate framework for data persistence. The \"Country\" entity represents the data model, which is mapped to a database table called \"COUNTRIES\". The entity has the following attributes:\n\n**Full Changelog**: https://github.com/geoffreylgv/API-world_countries/commits/v1.0.0\n\n##### Demo video\n[\u003cimg src=\"https://i3.ytimg.com/vi/3M6ogLK_I-4/maxresdefault.jpg\" width=\"100%\"\u003e](https://www.youtube.com/watch?v=3M6ogLK_I-4 \"Video on youtube, soon the API on Azure Functio APP\")\n\nid: A unique identifier for each country.\u003cbr\u003e\ncode: A unique code assigned to each country.\u003cbr\u003e\nnameFR: The name of the country in French.\u003cbr\u003e\nnameEN: The name of the country in English.\u003cbr\u003e\nalpha2: The two-letter code assigned to each country.\u003cbr\u003e\nalpha3: The three-letter code assigned to each country.\u003cbr\u003e\n\n\u003cquote\u003eThe entity also includes standard JPA annotations for defining the mapping to the database table and managing the persistence of the entity instances. The Lombok library is used to generate getters, setters, equals and hashcode methods for the entity class.\u003c/quote\u003e\n\n## How to use locally\n1. Download the repos, \n2. make sure to update the application.propertie in the resources folder \n3. make a clean and build and \n4. run \u003cbr\u003e\n\n\u003eInsert the country's data into the countries table; that's all. With love, thank you for reading. ^_^\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoffreylgv%2Fworldcountryapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeoffreylgv%2Fworldcountryapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoffreylgv%2Fworldcountryapi/lists"}