{"id":15982977,"url":"https://github.com/ematipico/react-redux-smaple","last_synced_at":"2026-04-11T13:08:04.166Z","repository":{"id":179192079,"uuid":"79136814","full_name":"ematipico/react-redux-smaple","owner":"ematipico","description":"Small sample of a single page app with ReactJS and Redux","archived":false,"fork":false,"pushed_at":"2017-12-16T11:48:12.000Z","size":1633,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-10T04:28:11.060Z","etag":null,"topics":["reactjs","redux","redux-form","redux-saga","sample-app","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ematipico.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-01-16T16:27:56.000Z","updated_at":"2023-07-25T14:06:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"e8ca0540-813c-40b5-a20c-c3b8fa978013","html_url":"https://github.com/ematipico/react-redux-smaple","commit_stats":{"total_commits":42,"total_committers":2,"mean_commits":21.0,"dds":"0.30952380952380953","last_synced_commit":"38b84c4565a2c9157bc793da80d0e2b775f70da3"},"previous_names":["ematipico/react-redux-smaple"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ematipico%2Freact-redux-smaple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ematipico%2Freact-redux-smaple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ematipico%2Freact-redux-smaple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ematipico%2Freact-redux-smaple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ematipico","download_url":"https://codeload.github.com/ematipico/react-redux-smaple/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234942,"owners_count":20905855,"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":["reactjs","redux","redux-form","redux-saga","sample-app","webpack"],"created_at":"2024-10-08T01:24:01.881Z","updated_at":"2025-12-30T23:08:18.615Z","avatar_url":"https://github.com/ematipico.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React and Redux sample #\n\nThis is a sample to show how I personally use React and Redux inside a real word application.\n\n\u003cimg src=\"https://david-dm.org/ematipico/react-redux-sample.svg\" /\u003e\n\n## Description of the project ##\n\nThe sample is an attempt of a small eCommerce where you have a list of items that you can browse. You can add them to the cart and make your purchase through a checkout form. There's nothing fancy behind it but this is the list of the main concepts used inside the sample:\n\n1. Every screen is inside a container, a react component that wraps other components and that is connected to the redux store.\n   Every container is configured inside react router;\n2. There are no props type checks. Everything is done using Flow. Props type checks will be dropped off eventually, so better start using a type check tool and I ended up using flow, which looked like quicker to implement;\n3. Selectors everywhere. The containers access to the store using selectors;\n4. Every container has a dedicated sass file;\n5. The testing suite that I use is [Ava](https://github.com/avajs/ava). Ava uses [Tape](https://github.com/substack/tape) under the hoods, which is my primary testing tool; react components are tested using [enzyme](https://github.com/airbnb/enzyme)\n6. Main sub libraries used\n   - redux-saga\n   - react-router-dom\n   - redux-form\n\n\n## How to run it ##\n\n```sh\ngit clone https://github.com/ematipico/react-redux-smaple.git\ncd react-redux-smaple\nnpm install\nnpm start\n```\nIf you wish to check the production version you can run the command\n\n```sh\nnpm run deploy\n```\nWebpack will create the bundle and the css files inside the dist folder and a new instance of broser sync will be launched. I will need to open a browser and nativate to [http://localhost:3000](http://localhost:3000)\n\nThis will kick off browser sync and it will run the application using Webpack. If you want run the test suite, execute the following command\n\n```sh\nnpm run test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fematipico%2Freact-redux-smaple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fematipico%2Freact-redux-smaple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fematipico%2Freact-redux-smaple/lists"}