{"id":19330703,"url":"https://github.com/versent/redux-crud","last_synced_at":"2025-05-16T14:06:46.219Z","repository":{"id":36723047,"uuid":"41029616","full_name":"Versent/redux-crud","owner":"Versent","description":"A set of standard actions and reducers for Redux CRUD Applications","archived":false,"fork":false,"pushed_at":"2018-09-19T23:32:24.000Z","size":541,"stargazers_count":623,"open_issues_count":15,"forks_count":55,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-03T10:12:18.231Z","etag":null,"topics":["react","redux"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Versent.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-19T11:15:37.000Z","updated_at":"2025-03-23T23:42:41.000Z","dependencies_parsed_at":"2022-09-11T15:41:45.449Z","dependency_job_id":null,"html_url":"https://github.com/Versent/redux-crud","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/Versent%2Fredux-crud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Versent%2Fredux-crud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Versent%2Fredux-crud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Versent%2Fredux-crud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Versent","download_url":"https://codeload.github.com/Versent/redux-crud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248552764,"owners_count":21123308,"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":["react","redux"],"created_at":"2024-11-10T02:37:40.320Z","updated_at":"2025-04-12T10:29:24.018Z","avatar_url":"https://github.com/Versent.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Redux CRUD\n\n**Looking for a new mantainer**: See \u003chttps://github.com/Versent/redux-crud/issues/77\u003e\n\n[ ![Codeship Status for Versent/redux-crud](https://codeship.com/projects/41be3440-293a-0133-d1a0-76c73dc375da/status?branch=master)](https://codeship.com/projects/97928)\n\nRedux CRUD is a convention driven way of building CRUD applications using Redux. After building several Flux applications we found that we always end up creating the same action types, actions and reducers for all our resources.\n\nRedux CRUD gives you a standard set of:\n\n- action types: e.g. `USER_UPDATE_SUCCESS`\n- actions: e.g. `updateSuccess`, `updateError`\n- reducers: for the action types above e.g. `updateSuccess`\n\n# Working with resources in Redux\n\nWhen building an app you might have resources like __`users`__, __`posts`__ and __`comments`__.\n\nYou'll probably end up with action types for them like:\n\n- `USERS_FETCH_SUCCESS`\n- `POSTS_FETCH_SUCCESS`\n- `COMMENTS_FETCH_SUCCESS`\n\nAnd action creators like:\n\n- `users.fetchSuccess`\n- `posts.fetchSuccess`\n- `comments.fetchSuccess`\n\nThere's obvious repetition there. Redux CRUD aims to remove this boilerplate by providing strong conventions on naming and processing data.\n\n## Stores\n\nRedux-crud provides two stores:\n\n- __List__. A plain JS array. This preserves the order of records.\n- __Map__. A JS object where records are indexed by key. This provides faster writes and lookups.\n\n## Docs\n\n### [Actions](./docs/actions.md)\n### [Reducers](./docs/reducers.md)\n### [Using with Redux](./docs/redux.md)\n### [Tips](./docs/tips.md)\n\n## Testing\n\n```\nnpm test\n```\n\n## Example\n\nYou can see [a basic example here](./example)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fversent%2Fredux-crud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fversent%2Fredux-crud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fversent%2Fredux-crud/lists"}