# erikras/ducks-modular-redux

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/erikras-ducks-modular-redux).**

9,561 stars · 335 forks · JavaScript

## Links

- GitHub: https://github.com/erikras/ducks-modular-redux
- awesome-repositories: https://awesome-repositories.com/repository/erikras-ducks-modular-redux.md

## Description

This project provides a modular Redux architecture and a corresponding boilerplate generator. It implements a structural pattern for Redux state management that bundles action types, action creators, and reducers into self-contained modules.

The architecture focuses on state logic colocation to prevent fragmented files and simplify the management of complex application states. A command-line tool is included to scaffold the file structure and initial code required for these modular state units.

The system covers modular frontend architecture and state partitioning, utilizing reducer composition to manage a hierarchical state tree and mapping action creators to dispatch calls for integration with user interface components.

## Tags

### Software Engineering & Architecture

- [Colocated Action Reducers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/action-reducer-architectures/colocated-action-reducers.md) — Implements a pattern that groups action creators and reducer logic within the same module to prevent file fragmentation.
- [Modular State Architectures](https://awesome-repositories.com/f/software-engineering-architecture/modular-architectures/modular-state-architectures.md) — Implements a modular architecture for dividing the global state store into independent, namespaced modules.
- [Redux Implementations](https://awesome-repositories.com/f/software-engineering-architecture/redux-implementations.md) — Implements the Redux pattern of actions, reducers, and an immutable store using a modular approach.
- [Boilerplate Scaffolders](https://awesome-repositories.com/f/software-engineering-architecture/schema-driven-generators/cli-command-generators/boilerplate-scaffolders.md) — Ships a CLI tool to automatically generate the boilerplate file structure for new state modules. ([source](https://github.com/erikras/ducks-modular-redux#readme))
- [Pure Reducer Compositions](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/action-reducer-architectures/pure-reducer-compositions.md) — Combines multiple isolated reducer functions into a single root reducer to manage a hierarchical state tree.
- [Action-Based Logic Encapsulations](https://awesome-repositories.com/f/software-engineering-architecture/stateful-logic-encapsulation/action-based-logic-encapsulations.md) — Organizes state logic into dedicated modular encapsulations to ensure reusability and independence. ([source](https://github.com/erikras/ducks-modular-redux#readme))

### Development Tools & Productivity

- [Boilerplate Automators](https://awesome-repositories.com/f/development-tools-productivity/boilerplate-automators.md) — Automates the generation of standardized directory structures and files for Redux state modules.
- [Boilerplate Generators](https://awesome-repositories.com/f/development-tools-productivity/code-generators/boilerplate-generators.md) — Provides a command-line utility to scaffold repetitive code structures and file layouts for state modules.

### User Interface & Experience

- [State Slicing](https://awesome-repositories.com/f/user-interface-experience/global-state-managers/state-slicing.md) — Divides the global state tree into smaller, independent slices for better maintainability and scalability.

### Programming Languages & Runtimes

- [State Action Generators](https://awesome-repositories.com/f/programming-languages-runtimes/state-action-generators.md) — Groups reducers and action creators into self-contained units of functionality. ([source](https://github.com/erikras/ducks-modular-redux/blob/master/CommonJs.md))

### Part of an Awesome List

- [Articles And Tutorials](https://awesome-repositories.com/f/awesome-lists/more/articles-and-tutorials.md) — Listed in the “Articles And Tutorials” section of the Awesome Redux awesome list.
