I have a task to build a boilerplate for our future web applications using ReactJS
/Redux
/MongoDB
/Node
(MERN
) as a basic technology stack.
Basically all of our web applications are dashboards, with a login landing page (with register/login/forgot pwd/reset pwd). The boilerplate should be driven by microservices and needs to support both web and mobile integration (using ReactJS Native
). Both client and server will call my APIs, that needs to be available also as REST services for integration. The app should be isomorphic as a best practice today.
I decided to start from react-redux-universal-hot-example, but as we can see the its landing page, it may be outdated (was written in June 2015).
The basic structure of my project is being tought as the following modules:
api: The API services (REST) auth: To handle authentication server: Server client: client models: Mongo models and database access static: Static files (images, etc.)
These are the modules I'm planning to use (mainly from react-redux-universal-hot-example):
- React (basic)
- React Router (to route)
- Express (basic)
- Babel (basic)
- Webpack (basic)
- Webpack Dev Middleware (for development)
- Webpack Hot Middleware (for development)
- Redux (for data update)
- Redux Dev Tools (for development)
- React Router Redux Redux/React Router bindings.
- ESLint (for code styling)
- redux-form (to help with forms)
- lru-memoize (to form validation)
- multireducer (to build a key based reducer)
- style-loader (to work with css and sass)
- bootstrap-sass-loader (to easily customize bootstrap colors)
- font-awesome-webpack (to easily customize fa colors)
- react-helmet (to manage meta tags)
- webpack-isomorphic-tools (for isomorphic app)
- mocha (for unit testing)
Not present in the react-redux-universal-hot-example, I would addÇ
- mongoose (for Mongo access)
- Auth0, JWT and passport (for authentication)
From the above path, I have the following doubts:
a) Are the modules listed above updated as for today ? Should I use something newer to the given list ?
b) Is react-redux-universal-hot-example a good starting point or shall I look for something newer, better organized or just more up to date ?
c) Is my modules/directories structure correct ? Any comments on that ?
d) Generally speaking, is this a solid base to start from ?
b) Is there something missing that would help