This is a starter boilerplate app I've put together using the following technologies:
- Doker to avoid surprises in production
IsomorphicUniversal rendering- Both client and server make calls to load data from separate API server
- Babel for ES6 and ES7 magic
- ESLint to maintain a consistent code style
- Webpack for bundling
- Express
- Webpack Hot Middleware
- Webpack Dev Middleware
- React
- React Router
- i18n
- Redux's futuristic Flux implementation
- Redux Dev Tools for next generation DX (developer experience). Watch Dan Abramov's talk.
- React Router Redux Redux/React Router bindings.
- redux-form to manage form state in Redux
- style-loader, sass-loader
yarn
docker-compose build
docker-compose up
npm run storybook
Go to http://localhost:3000 for development and go to http://localhost:1818 for storybook.
Files src/styles/settings/variables
and src/styles/settings/palette
must exist because they serve to inject global variables on SASS scope.
All changes in development mode will applied in real time.
To update or install node modules launch docker-compose exec web bash
when container is up, now we can launch yarn [add|upgrade] [package]
and we have new/updated module in container, in package.json and in yarn.lock.
Always check the process isn't stopped when server files are changed, in case repeat run app
actions.