Reactium Domain Model

Instead of creating large directories by file type, organize your project into domains, and put type specific files in that domain directory.

Basic Artifacts

Reactium comes with some powerful capabilities with these basic artifacts. The power to route, style, and integrate with other parts of your application. See Basic Domain Model for more details.
Much of the boilerplate of the some of these important artifacts can be create with arcli:
arcli component
Route configuration file, creating one or more React Router routes.
Main component file
Sass styles
Reactium isomorphic plugin bind point that run at the file scope on app bootstrap.
Domain configuration file. Used to help group functions to your domain.
Utility functions and AJAX requests
Reactium node/express (back-end only) plugin bind point that run at server startup
Jest/Enzyme test

Redux Artifacts

The @atomic-reactor/reactium-redux plugin automatically adds the following discoverable Redux-specific DDD artifacts to your application manifest. See Redux Domain Model for more details.
Redux Artifacts
Redux actions
Redux actionTypes
Redux reducers
Redux default state
Redux middleware
Redux store enhancer

Runtime Artifacts

Reactium comes with built-in capability to generate run-time modules that can be loaded in your applications. The Reactium opinion makes it easy for your applications to be naturally extended. See Runtime Domain Model for more details.
Automatically creates entry point for a new UMD (Universal Module Definition) bundle, useful for service workers and runtime plugins.
When found in a directory containing a umd.js UMD (Universal Module Definition) entry point, will be used to generate the manifest configuration for the UMD module.

Build Artifacts

If you wish to use the Reactium SDK and hooks system to change the behavior of Gulp tasks or Webpack compilation for your plugin, you can use build-time DDD artifacts to register your behaviors. See Buildtime Domain Model for more details.
Build Config Artifacts
Used to register/unregister gulp tasks for the build.
Used to register/unregister webpack configuration for the build.