{"id":20608621,"url":"https://github.com/alonach/countries-next-test","last_synced_at":"2026-04-17T23:06:16.179Z","repository":{"id":227843382,"uuid":"772448961","full_name":"AlonaCh/countries-next-test","owner":"AlonaCh","description":"School practices of unit testing and cypress","archived":false,"fork":false,"pushed_at":"2024-03-26T07:12:31.000Z","size":198,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T17:41:11.213Z","etag":null,"topics":["cypress","unit-testing"],"latest_commit_sha":null,"homepage":"","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/AlonaCh.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":"2024-03-15T08:03:48.000Z","updated_at":"2024-03-26T07:15:47.000Z","dependencies_parsed_at":"2024-03-15T12:46:29.990Z","dependency_job_id":"0393de16-0af7-4c9c-8aa6-602d09f4f6b3","html_url":"https://github.com/AlonaCh/countries-next-test","commit_stats":null,"previous_names":["alonach/countries-next-test"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlonaCh/countries-next-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlonaCh%2Fcountries-next-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlonaCh%2Fcountries-next-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlonaCh%2Fcountries-next-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlonaCh%2Fcountries-next-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlonaCh","download_url":"https://codeload.github.com/AlonaCh/countries-next-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlonaCh%2Fcountries-next-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31949435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cypress","unit-testing"],"created_at":"2024-11-16T10:11:10.788Z","updated_at":"2026-04-17T23:06:16.137Z","avatar_url":"https://github.com/AlonaCh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Begin Countries Application setup...\n\n### Steps:\n\n1. Install react-redux and react-redux toolkit\n   Install react-redux and @reduxjs/toolkit using npm or yarn. These libraries will be used to manage the state of your application.\n\n```shell\nnpm install react-redux @reduxjs/toolkit\n```\n\n2. Signup for weather api at: https://home.openweathermap.org/users/sign_up\n   Sign up for the OpenWeatherMap API at https://home.openweathermap.org/users/sign_up. You will receive an API key which will be used to fetch weather data. The signup means we have to wait 2 hours for the API key to be available. We will not be using this right away.\n\n**_ We will do this step together _** 3. Set up store, slice and (do api call together - service)\nSet up your Redux store and create a slice for your countries data. In the slice, define actions and reducers to handle the fetching of country data. You can use createAsyncThunk from Redux Toolkit to handle the API call.\n\n4. Test that redux in chrome is showing the empty countries array.\n   Test your Redux setup by checking the Redux DevTools in your browser.\n\n5. Connect Countries.jsx to store and replace the countriesList and loading with values from redux.\n   In your Countries.jsx component, connect to the Redux store using the useSelector and useDispatch hooks from react-redux. Replace the local countriesList and loading state with values from the Redux store.\n\n6. Use framework component to fetch data and display.\n\n7. Create search function for all countries\n   Implement a search function that filters the list of countries based on the user's input. This could be done in the Redux slice or in the component itself, depending on your preference.\n\nThink about the steps carefully here... which part should we do first and why? Do we map and then filter or filter and then map for example?\nThink of your reason...\n\n8. Create link container and add in link for single page later (suggested wrapping Card.Img)\n   Create a link container component that wraps around each country item. This component should use the Link component from react-router-dom to navigate to a detailed view of the country when clicked. It's suggested to wrap the Card.Img component with this link container.\n\n**_ We will do this step together _** 9. Set up country single.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falonach%2Fcountries-next-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falonach%2Fcountries-next-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falonach%2Fcountries-next-test/lists"}