An example universal JS application written with the 3REE stack, React + Redux + RethinkDB + Express. A stack for building apps, front and back end, with just Javascript.
This project was initially conceived to experiment with using these technologies in conjunction with one-another. I have written a blog that relates to this codebase. You can see the demo application here.
This project is useful for:
- seeing how to build a Universal Javascript application
- understanding how to handle asyncronousity in Redux action creators
- seeing how you can use Socket.io with Redux
- building your own Redux powered application
- forking so that you can build your own 3REE stack app!
- N.B It is still a work in progress and incorporation with React Router is coming shortly!*
- Universal (Isomorphic) Javascript
- Asyncronous example
- Use of RethinkDB Changefeeds for Realtime
You will need to install RethinkDB. You can find instruction on how to do so here.
- Clone the repo
git clone [email protected]:GordyD/3ree.git
- Run
npm install
- Ensure contents of
server/api/config.json
is correct for your environment. - Run
npm run db-setup
to set up DB - Run
npm run build-prod
to build application files - Run
npm start
- Go to http://localhost:3000
- React - view layer
- React Router - universal routing
- Redux - state management
- RethinkDB - persistance layer
- Express - server framework
- Socket.io - for realtime communication between clients and server
- Webpack - module bundling + build for client
- Jade - view templates
- Superagent - universal http requests