Start a React project without configuration with Redux, Redux-Saga, styled-components, intl, server side rendering
Made by Nathan Loisel & Jeremy Barthoux, supported by Apptitude
- Generate all the boilerplate code with flexible generators
- Internationalization with react-intl
- CSS in JS styling with styled-components
- React state management with redux
- Easily manage asynchronous tasks with redux-saga
npm install -g goomi
goomi init myApplicationName
It will create a directory called myApplicationName
.
Inside that directory, it will generate the initial project structure and install the transitive dependencies:
myApplicationName
├── README.md
├── node_modules
├── package.json
├── package-lock.json
├── .gitignore
├── webpack
└── src
└── client
└── server
└── universal
└── asset <-- all static assets (images, fonts, themes)
└── features <-- contains all components, containers, reducer and sagas organized by features (generated with CLI)
└── redux
└── appConfig.js
When the installation is over, run npm start
to start the application in dev mode and npm run dev-ssr
if you want to test server-side rendering.
A couple of generators are embedded inside goomi based on plop.
-
List all generators
-
Generate a Feature folder
goomi generate feature
- Generate a new route
goomi generate route
- Generate a HOC
goomi generate hoc
- Generate a Component
goomi generate component
- Generate a Container
goomi generate container
- Add a new language
goomi generate language
- Extract translation files from each components to one file
goomi extract-intl
- React Native support
- Electron support
- import generators locally to edit them
- document and harmonize the --all command parameter
- precommit linting (can be specified at the project init)
- add offline available option workshopjs
- add parametrization (with ssr, with redux, ...)
Please open an issue for support.
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.