This app is using express with Kraken to extend framework by providing structure.
This app is created to demonstrate the usage of React, Redux, redux-simple-router, react-router. This app doesn't cover the validations and boundary conditions.
Let's take a tour of the app.
The server directory contains all the backend stuff:
The config directory contains the configuration settings for couchdb and Kraken middleware.
This app uses couchdb as database. The couchapp directory contains the scripts to load the fixture documents and the couchdb design documents.
The fixtures contains the mock documents that inserts the users and emails in database.
The lib contains wrapper libraries and helpers used in app elsewhere.
The middlewares contains the middlewares which are used in kraken config to attach to express app object.
Every route in the application is defined in routes
app.js is entry point to the server.
The client directory contains all the frontend stuff:
The components directory contains all the pure react components.
The containers directory contains all the react container components.
The public directory contains the css assets which are used to style the app.
The reducers directory contains the reducers used by redux.
The actionCreators.js file contains all the action creators which dispatches the actions to the redux store.
main.js is main entry point for frontend. It sets up the middlewares, routing etc in the app.
Make sure you have couchdb installed and running and checkout server/config/dbConfig. To run the app open the command prompt and follow along:
# install babel-cli globally
npm install -g babel-cli
# install all the modules
npm install
# start the app
npm start