This is a simple starter kit that adds Redux and React Router v4 to a Create React App project. It is opinionated in the way the components and containers are structured, as well as how reducers and actions are organized as well e.g: putting all container reducers, actions and action types within their container directory instead of putting all reducers, actions and action types in three different directories.
Uses the latest Create React App and other package versions.
Client and Server are separate but I included the server files for reference. If only the client side files are required, simply delete the "server" directory.
Code is linted using a mix of rules from the Standard and Airbnb JavaScript style guides.
It currently implements an e-commerce shopping cart, where a user can add or remove items (books) from the store. A client can add them to his/her cart and perform a "checkout".
- Global state management handled by Redux. Consuming and updating a backend API, and passing both props and actions down from containers to components.
Use the Redux browser extension to use time-travel to track all state change, and to dispatch actions.
- Routing and route state management handled by React-Router and React-Router-Redux
- Uses the reselect library to perform certain state-based functions such as populating the number of items in a customers cart.
- Uses Twitter Bootstrap as as base CSS for components.
- Babel/ES2017
- React
- Redux
- React Router v4
- Axios for API calls
- Open the directory in a terminal and perform "npm install" to install all dependencies.
- Run "npm start" to run the server in development mode.
- The client will be running on http://localhost:3001 if server is running on 3000
- Add more propType validations (currently missing)
Simple versioned ES6 Node.js, Express.js and MongoDB API starter kit.
- Babel/ES2017
- Express.js
- Node.js
- MongoDB/Mongoose
- Open the directory in a terminal and perform "npm install" to install all dependencies.
- Run "npm run dev" to run the server in development mode.
- Run "npm run build" to compile a build of the server
- The server will be running on http://localhost:3000
Make sure to change the JWT secret key in the .env file.
- Implement Universal or Server Side Rendering (SSR) solution that serves the final build of the client side to clients with JavaScript disabled. Although not a high priority, it offers some accessibility and search engine optimization benefits.
Currently contains unused packages that were used in the developement of a Universal/SSR solution. Should be cleaned up easily if that feature is not required.