{"id":30669497,"url":"https://github.com/simandrew/shopping-cart-reactjs","last_synced_at":"2025-09-01T01:22:08.560Z","repository":{"id":311452577,"uuid":"1043228881","full_name":"SimAndrew/shopping-cart-reactjs","owner":"SimAndrew","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-24T17:30:30.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-24T19:42:19.403Z","etag":null,"topics":["react-icons","reactjs","usereducer-hook"],"latest_commit_sha":null,"homepage":"","language":"CSS","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/SimAndrew.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":"2025-08-23T12:08:28.000Z","updated_at":"2025-08-24T17:30:33.000Z","dependencies_parsed_at":"2025-08-26T01:31:11.395Z","dependency_job_id":null,"html_url":"https://github.com/SimAndrew/shopping-cart-reactjs","commit_stats":null,"previous_names":["simandrew/shopping-cart-reactjs"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/SimAndrew/shopping-cart-reactjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimAndrew%2Fshopping-cart-reactjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimAndrew%2Fshopping-cart-reactjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimAndrew%2Fshopping-cart-reactjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimAndrew%2Fshopping-cart-reactjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimAndrew","download_url":"https://codeload.github.com/SimAndrew/shopping-cart-reactjs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimAndrew%2Fshopping-cart-reactjs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273062140,"owners_count":25038845,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["react-icons","reactjs","usereducer-hook"],"created_at":"2025-09-01T01:22:06.727Z","updated_at":"2025-09-01T01:22:08.547Z","avatar_url":"https://github.com/SimAndrew.png","language":"CSS","readme":"## Shopping Cart\n\n### About the Project:\nA simple shopping cart application built with React JS using the useReducer hook for state management. The application allows users to view a list of products, add them to the cart, and manage the cart items.  \n\n### Features:\n- View a list of products with details such as name, price, and image.\n- Add products to the cart.\n- Remove products from the cart.\n- Clear the entire cart.\n- Increase or decrease the quantity of items in the cart.\n- Display the total number of items and the total price in the cart.\n- Responsive design for better user experience on different devices.\n- Loading state while fetching data from external API.\n- Error handling for API requests.\n\n- fetch cartItems data for Cart from \n`https://www.course-api.com/react-useReducer-cart-project`\n\n### Sample task, photo:\n\n![image](https://github.com/user-attachments/assets/a265b5b2-bd3b-419d-a340-87277ea3dc95)\n\n![image1](https://github.com/user-attachments/assets/36bb4dbf-4192-43eb-a2c7-3338fb9392b7)\n\n![image2](https://github.com/user-attachments/assets/ebd048b6-5afd-4864-beb7-b2508c213626)\n\n### Technologies, Libraries:\n\n- [React JS](https://react.dev/)\n- [Vite JS](https://vitejs.dev/), [ESLint](https://eslint.org/), [Prettier](https://prettier.io/)\n\n- [useReducer Hook](https://react.dev/reference/react/useReducer) is a function that allows you to manage complex state logic in functional components. It is an alternative to the useState hook and is particularly useful when the state logic involves multiple sub-values or when the next state depends on the previous one.\n\n### Run the app:\n\n- Clone a project: `git clone`\n\n```\ngit clone https://github.com/SimAndrew/shopping-cart-reactjs.git\n```\n\n- Open project code in your editor.\n- Install the dependencies, enter into the terminal:\n\n```\nnpm install\n```\n\n- Run the project, enter into the terminal:\n\n```\nnpm run dev\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimandrew%2Fshopping-cart-reactjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimandrew%2Fshopping-cart-reactjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimandrew%2Fshopping-cart-reactjs/lists"}