{"id":18138115,"url":"https://github.com/andreynav/countries-wiki","last_synced_at":"2025-06-12T22:34:08.409Z","repository":{"id":158028913,"uuid":"598163403","full_name":"andreynav/countries-wiki","owner":"andreynav","description":"Wiki app with data for all countries | React ★★★ API and UI tests | Cypress","archived":false,"fork":false,"pushed_at":"2023-07-09T15:51:31.000Z","size":363,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T23:39:42.550Z","etag":null,"topics":["axios","countries","countries-api","countries-data","country-flags","cypress","react","react-icons","react-router","react-select","styled-components"],"latest_commit_sha":null,"homepage":"https://countries-wiki-prod.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreynav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-02-06T14:37:49.000Z","updated_at":"2023-07-08T15:50:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"796e67ae-3b6e-4799-bfce-9a02f936ac63","html_url":"https://github.com/andreynav/countries-wiki","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/andreynav%2Fcountries-wiki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreynav%2Fcountries-wiki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreynav%2Fcountries-wiki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreynav%2Fcountries-wiki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreynav","download_url":"https://codeload.github.com/andreynav/countries-wiki/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247521116,"owners_count":20952295,"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":["axios","countries","countries-api","countries-data","country-flags","cypress","react","react-icons","react-router","react-select","styled-components"],"created_at":"2024-11-01T15:42:12.491Z","updated_at":"2025-04-06T17:28:54.278Z","avatar_url":"https://github.com/andreynav.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n![GitHub repo size](https://img.shields.io/github/repo-size/andreynav/countries-wiki?style=for-the-badge)\n![GitHub deployments](https://img.shields.io/github/deployments/andreynav/countries-wiki/Production%20%E2%80%93%20countries-wiki-prod?label=vercel%20deployment\u0026style=for-the-badge)\n![Website](https://img.shields.io/website?label=countries%20wiki\u0026style=for-the-badge\u0026url=https%3A%2F%2Fcountries-wiki-prod.vercel.app%2F)\n\n\u003c/div\u003e\n\n# General Notes\n\nThe project is a web application with information about countries all around the world. You can select an available region of the world or search for the specific country directly. The project is made using React, React Router and Styled components. \nThe project use [REST Countries API](https://restcountries.com/).\nThe project based on [Frontend Mentor Challenge](https://www.frontendmentor.io/challenges/rest-countries-api-with-color-theme-switcher-5cacc469fec04111f7b848ca). \n\n\n## Demo\n\nYou can open and use the app by [countries-wiki app link](https://countries-wiki-prod.vercel.app/).\n\n## Project structure\n\nThe project has multilayer structure:\n\n- `cypress` - used to keep UI and API tests\n- `public` - used to keep static content for builds\n- `api` - used to keep API calls functionality\n- `assets` - used to keep static content\n- `components` - used to keep react components\n- `hooks` - used to keep hooks\n- `styles` - used to keep styles\n- `types` - used to keep TypeScript common types\n- `utils` - used to keep utils for helping\n\n## Dependencies\n\nThe project has the next dependencies in the [package.json](package.json) file.\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/react?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/axios?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/react-router-dom?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/react-icons?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/react-select?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/styled-components?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/typescript?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/intro.js-react?style=for-the-badge)\n![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/andreynav/countries-wiki/dev/cypress?style=for-the-badge)\n\n\n\u003c/div\u003e\n\n## Installation\n\n1. Clone project to your PC by the following command:\n\n```console\n  git clone https://github.com/andreynav/countries-wiki.git\n```\n\n2. Open the root directory and enter the following command:\n\n```console\n  yarn\n```\n\n3. In the root directory create `.env` file and add inside it a row `PORT=3002` (or any desired port).\n\n\n## Running project\n\nTo run project, open the root directory and enter the following command:\n\n```console\n  yarn start\n```\n\nThe command runs the app in the development mode.\nOpen [http://localhost:3002](http://localhost:3002) to view it in your browser.\n\n## Running Cypress tests\n\nTo run tests first you need to run the project and after that open the root directory and enter the following command:\n\n```console\n    npx cypress open \n```\n\nYou also can run test via command line interface:\n\n```console\n    yarn cy-all-cli\n```\n\nSee available running scripts in package.json script section.\n\n## License\n\nThe project is open source software provided under the [Apache License 2.0](LICENSE.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreynav%2Fcountries-wiki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreynav%2Fcountries-wiki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreynav%2Fcountries-wiki/lists"}