{"id":30105802,"url":"https://github.com/asrieldreemurrgm/practice_of_react_with_redux","last_synced_at":"2026-05-07T05:35:00.151Z","repository":{"id":268036428,"uuid":"903174324","full_name":"AsrielDreemurrGM/Practice_Of_React_With_Redux","owner":"AsrielDreemurrGM","description":"Practical React and Redux exercise focusing on converting components from useState and Fetch API to Redux Toolkit and RTK Query. While the API previously used for data fetching is no longer online, the Redux implementation remains functional and demonstrates proper state management techniques.","archived":false,"fork":false,"pushed_at":"2025-09-23T00:16:47.000Z","size":194,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-23T02:31:16.347Z","etag":null,"topics":["create-react-app","eslint","fetch-api","html5","react","redux","redux-slice","redux-toolkit","redux-toolkit-query","state-management","typescript","usedispatch","useselector","usestate"],"latest_commit_sha":null,"homepage":"https://practice-of-react-with-redux-asrdrgm.vercel.app/","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ogiansouza/ebac_sports","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsrielDreemurrGM.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,"zenodo":null}},"created_at":"2024-12-13T23:15:09.000Z","updated_at":"2025-09-23T00:16:50.000Z","dependencies_parsed_at":"2025-07-30T21:07:04.716Z","dependency_job_id":null,"html_url":"https://github.com/AsrielDreemurrGM/Practice_Of_React_With_Redux","commit_stats":null,"previous_names":["asrieldreemurrgm/pratica_do_react_com_redux","asrieldreemurrgm/practice_of_react_with_redux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AsrielDreemurrGM/Practice_Of_React_With_Redux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsrielDreemurrGM%2FPractice_Of_React_With_Redux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsrielDreemurrGM%2FPractice_Of_React_With_Redux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsrielDreemurrGM%2FPractice_Of_React_With_Redux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsrielDreemurrGM%2FPractice_Of_React_With_Redux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsrielDreemurrGM","download_url":"https://codeload.github.com/AsrielDreemurrGM/Practice_Of_React_With_Redux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsrielDreemurrGM%2FPractice_Of_React_With_Redux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32724700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","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":["create-react-app","eslint","fetch-api","html5","react","redux","redux-slice","redux-toolkit","redux-toolkit-query","state-management","typescript","usedispatch","useselector","usestate"],"created_at":"2025-08-10T00:19:32.327Z","updated_at":"2026-05-07T05:35:00.146Z","avatar_url":"https://github.com/AsrielDreemurrGM.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003eReact + Redux Practice\u003c/h1\u003e\n\u003cp\u003e\n  Este README também está disponível em \u003ca href=\"./README.pt-br.md\"\u003ePortuguês\u003c/a\u003e.\n\u003c/p\u003e\n\u003cp\u003e\n  This project is a practical exercise on using \u003cstrong\u003eReact\u003c/strong\u003e with \u003cstrong\u003eRedux Toolkit\u003c/strong\u003e,\n  demonstrating the conversion of components from \u003ccode\u003euseState\u003c/code\u003e and \u003ccode\u003eFetch API\u003c/code\u003e\n  to \u003ccode\u003eRedux\u003c/code\u003e and \u003ccode\u003eRTK Query\u003c/code\u003e.\n\u003c/p\u003e\n\u003cp\u003e\n  🔗 Live Demo: \u003ca href=\"https://practice-of-react-with-redux-asrdrgm.vercel.app/\" target=\"_blank\"\u003eView on Vercel\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\n  The API used fetches data from:\n\u003c/p\u003e\n\u003cpre\u003e\nhttps://ebac-fake-api.vercel.app\n\u003c/pre\u003e\n\u003cp\u003e\n  The API hosts mock JSON data for products.\n\u003c/p\u003e\n\u003ch2\u003e🚀 Technologies Used\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eReact\u003c/li\u003e\n  \u003cli\u003eRedux\u003c/li\u003e\n  \u003cli\u003eRedux Toolkit\u003c/li\u003e\n  \u003cli\u003eRTK Query\u003c/li\u003e\n  \u003cli\u003eTypeScript\u003c/li\u003e\n  \u003cli\u003eFetch API (removed)\u003c/li\u003e\n  \u003cli\u003eReact Hooks (useState, useEffect, useDispatch, useSelector)\u003c/li\u003e\n  \u003cli\u003eHTML5\u003c/li\u003e\n  \u003cli\u003eESLint\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Installation\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003enpm install\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e▶️ Running the Project\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003enpm start\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e📁 Folder Highlights\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ccode\u003estore/\u003c/code\u003e – Redux store configuration\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003eslices/\u003c/code\u003e – Contains individual Redux slices for cart and favorites\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003eservices/api.ts\u003c/code\u003e – RTK Query setup\u003c/li\u003e\n  \u003cli\u003e\u003ccode\u003ecomponents/\u003c/code\u003e – React components consuming Redux state\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🎯 Goals\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003ePractice converting local state logic to Redux Toolkit.\u003c/li\u003e\n  \u003cli\u003eImplement asynchronous data fetching using RTK Query.\u003c/li\u003e\n  \u003cli\u003eStructure Redux logic using best practices.\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasrieldreemurrgm%2Fpractice_of_react_with_redux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasrieldreemurrgm%2Fpractice_of_react_with_redux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasrieldreemurrgm%2Fpractice_of_react_with_redux/lists"}