simpler stack is a highly efficient, full-stack javascript framework built on state of the art technologies like React, Redux, RethinkDB, Apollo, Express, and Webpack
Speed up your workflow by taking advantage of the best of the newest technologies available. This boilerplate framework was created to make using all these new, powerful technologies a lot simpler.
special thanks to mattkrick for this awesome comparison table borrowed from his meatier repo
Problem | Meteor's solution | simpler's solution | Motivation |
---|---|---|---|
Database | MongoDB | RethinkDB | pub/sub, nice web GUI, easy clustering |
Database schema | Simple Schema | GraphQL / ApolloServer | ApolloServer allows us to use shorthand schema language |
Client validation | Simple Schema | Joi | extremely simple client-side validation via HOC |
Database hooks | Collections2 | GraphQL | who isn't using GraphQL anymore? |
Forms | AutoForm | redux-form | automatic form validation, nice form state management |
Client-side cache | Minimongo | redux | time travel, redo/undo, unidirectional data-flow |
Socket server | DDP-server | socket.io | socket.io v1.0 is out, so that's cool |
Authentication | Meteor accounts | JWTs | simple and efficient |
Auth-transport | DDP | ApolloClient (via HTTP fetch) | ApolloClient gives some relay-like features without all the bloat |
Front-end | Blaze | React | React is the future of UI development |
Build system | meteor | webpack | Webpack to simplify building all the things |
CSS | magically bundle & serve | aphrodite | inline styles, all the features of sass, works with server rendering |
Optimistic UI | latency compensation | ApolloClient | optimistic ui with automatic rollback |
Testing | Velocity (or nothing at all) | karma / mocha / chai / enzyme | JQuery-like selectors, automatic test re-run on code change, simple assertions |
Linting | Your choice | eslint | the industry standard, live linting with atom plugin 'linter-eslint' |
Routing | FlowRouter | react-router-redux | ssr capable react router, async routes |
Server | Node 0.10.41 | Node 5 | ... |
##Installation
brew install rethinkdb
rethinkdb
(in second terminal window)git clone
this repocd simpler-stack
npm install
##Development
npm run dev
(hot reloaded dev server)
##Production
npm run build
npm run start
##Similar Projects
- https://github.com/erikras/react-redux-universal-hot-example (Huge motivation for the architecture of this stack, this was the original boilerplate forked to create this stack)
- https://github.com/mattkrick/meatier (Another big motivation, but over complex. I also borrowed the table above from this repo)
- https://github.com/kriasoft/react-starter-kit
- https://github.com/GordyD/3ree
##Contributing
- Pull requests welcomed!
- Feel free to submit bug reports as an issue.
##Changelog
##License MIT