{"id":21557358,"url":"https://github.com/aggarwal-muskaan/restcountriesapi","last_synced_at":"2026-05-16T17:04:11.972Z","repository":{"id":153241387,"uuid":"373768636","full_name":"aggarwal-muskaan/restCountriesAPI","owner":"aggarwal-muskaan","description":"🛩React web application using REST countries API💕","archived":false,"fork":false,"pushed_at":"2022-04-16T12:09:02.000Z","size":221,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T10:46:53.321Z","etag":null,"topics":["debounce-search","lazy-loading","prop-types","react-hooks","rest-api","styled-components"],"latest_commit_sha":null,"homepage":"https://explorecountries.netlify.app/","language":"JavaScript","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/aggarwal-muskaan.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}},"created_at":"2021-06-04T08:09:39.000Z","updated_at":"2022-04-16T12:09:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"03fb8364-31dd-4a42-b387-cd783a59e309","html_url":"https://github.com/aggarwal-muskaan/restCountriesAPI","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggarwal-muskaan%2FrestCountriesAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggarwal-muskaan%2FrestCountriesAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggarwal-muskaan%2FrestCountriesAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggarwal-muskaan%2FrestCountriesAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aggarwal-muskaan","download_url":"https://codeload.github.com/aggarwal-muskaan/restCountriesAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244148536,"owners_count":20406199,"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":["debounce-search","lazy-loading","prop-types","react-hooks","rest-api","styled-components"],"created_at":"2024-11-24T08:12:02.745Z","updated_at":"2026-05-16T17:04:06.933Z","avatar_url":"https://github.com/aggarwal-muskaan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rest Countries ✈\r\nThe project is build using [REST API](https://restcountries.eu/ \"rest-countries-api\")\r\n\r\n\r\n## How to Run the Web-App   \r\nThis command clones the repo and installs all dependencies required to run the application.   \r\nAlso, it will generate ```package-lock.json```.\r\n\r\n```bash\r\ngit clone https://github.com/aggarwal-muskaan/restCountriesAPI.git/\r\ncd [foldername]\r\nnpm install \u0026\u0026 npm start\r\n```\r\n\r\n## API endpoints\r\n There are total 3 endpoints: \r\n1. pulls data of all countries\r\n2. pulls data matches with country name\r\n3. pulls data based on Region.   \r\n\r\n The global state is initialized with the data of all countries when the app runs for the first time.   \r\n The country is searched in that instance if user searched from the URL.\r\n \r\n ## ✨Layout✨\r\n\r\n\u003ctable\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003edesktop-design-home-light\u003c/td\u003e\r\n     \u003ctd\u003edesktop-design-detail-dark\u003c/td\u003e\r\n     \u003ctd\u003emobile-design-detail-light\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003e\u003cimg src=\"https://user-images.githubusercontent.com/54470292/120788224-de707e00-c54d-11eb-8646-6bb7bf0b69e2.jpg\" \u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg src=\"https://user-images.githubusercontent.com/54470292/120788242-e4fef580-c54d-11eb-9a17-d03efb307453.jpg\" \u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg src=\"https://user-images.githubusercontent.com/54470292/120788271-ecbe9a00-c54d-11eb-8bbf-16c682976f7d.jpg\" \u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n \u003c/table\u003e\r\n \r\n [Click here](https://explorecountries.netlify.app/ \"Demo\") to see app in action.\r\n \r\n ## Features❤\r\n * See all countries on the homepage\r\n * Search for a country using an input field\r\n * Filter countries by region\r\n * Click on a country to see more detailed information\r\n * Click through to the border countries on the detail page\r\n * Toggle the color scheme between light and dark mode\r\n\r\n### Learnings\r\n1. [PropTypes](https://www.npmjs.com/package/prop-types) : for typechecking\r\n2. [Styled Components](https://styled-components.com/docs) : for styling (you will definitely fall in love)\r\n3. [Debouncing](https://www.npmjs.com/package/use-lodash-debounce) : hits API after a gap of given time \u0026 not call API after every change made by user\r\n4. [Lazy Loading](https://reactjs.org/docs/code-splitting.html) : code-splitting with dynamic imports (improve performance of apps using large third-party libraries)\r\n5. [Unit Testing](https://jestjs.io/docs/getting-started) : makes debugging easy if we write more tests before code.\r\n(P.S- I've not used TDD)\r\n\r\n### Whats's next?\r\n==\u003e Learn Redux \u003c==\r\n\r\n### 🙌Built with styled-components \u0026 React.js🙌\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggarwal-muskaan%2Frestcountriesapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faggarwal-muskaan%2Frestcountriesapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggarwal-muskaan%2Frestcountriesapi/lists"}