Just another boilerplate:
- webpack
- react
- redux
- redux-devtools
- react-hot-loader
- react-router
- react-intl
- redux-form TODO
- Bootstrap 4
- gh-pages
Directory structure:
public/ <-- your static generated app is here
src/
├── core/
│ ├── DevTools.js *
│ ├── reducers.js <-- combine your reducers
│ ├── root/ *
│ ├── routes.js <-- change your routes
│ ├── storage.js *
│ └── store/ *
├── index.js
├── locales/ <-- all your translations
│ ├── index.js
│ ├── locale-en.json
│ └── locale-it.json
└── modules/ <-- all your isolated component should go here
├── index.js
├── app/ <-- main component
│ ├── AppComponent.js
│ └── app.scss
├── counter/ <-- example of component with redux
│ ├── CounterActionTypes.js
│ ├── CounterActions.js
│ ├── CounterComponent.js
│ ├── CounterContainer.js
│ ├── CounterReducer.js
│ └── counter.scss
└
...
* Generally you shouldn't modify this unless needed
# first time
npm install
# run development
npm start
# build static site
npm run build
# publish gh-pages
npm run publish
# build image
docker build -t rrb4:v1 .
# run container
docker run -d -p 80:80 rrb4:v1