hapi-react-starter-kit
A hapi React Starter kit with react-router, redux, react-transform
Light and fast - Don't be sad, be hapi!
Inspired by
This repo was inspired by the following projects and their authors
- react-kickstart by Alessandro Arnodo
- react-isomorphic-starterkit by RickWong
- react-transform by Dan Abramov
- webpack-express-boilerplate by Christian Alfoni
- Heavily based on Erikras' react-redux-universal-hot-example
- redux-react-router-async-example by emmenko
- hapi-socketio-redis-chat-example by dwyl
- Scaling Redis/Socketio redispubsub
##Features
- Hapi server framework for Node. - hapijs
- React JS Library for user interfaces. - reactjs
- Webpack + React-transform and react-transform-hmr
- React Router keeps your UI in sync with the URL. - react-router
- Flux implementation - Redux
- ES6 and ES7 ready. - BabelJs
- Linting with eslint & jscs
- Testing with karma, mocha, isparta, webpack, sinon-chai
- Coverage with karma-coverage
- API Interface - Swagger
- API Validation - Joi
- Database for storing user data (CRUD) - Redis
- Password encryption - Iron
- Promises - bluebird
- Fetch isomorphic-fetch
- Authentication Oauth2 - Refresh/Access tokens
- Token Encoding with node-jsonwebtoken
- Token Encryption with node-forge
- i18n - react-intl by yahoo
- Real-time messaging - Socket.io
- Inline CSS Styling - Radium
- OpenShift deployment READY.
User Accounts
- Create/Update user accounts
- Login/Logout
- Set language (english/spanish)
- Access/Refresh token sessions (Oauth2)
User Rooms (powered by socket.io)
- Users can create multiple chat rooms
- See who is typing
DEMO
http://hapi-reactstarterkit.rhcloud.com/
Usage
Clone this repository
git clone https://github.com/Dindaleon/hapi-react-starter-kit.git
Or
npm i hapi-react-starter-kit
Install
npm install
Production server
npm run prod
Development server
npm run dev
Linting
npm run eslint
npm run jscs
Testing
To check coverage check the coverage folder after running the test. Tests are incomplete.
npm test
API Interface
Path: /api/v1/documentation
Deployment Guide
##Todo
- testing, testing, testing...
- improve redux implementation
- Testing
- Coverage
- Linting
- Coveralls support
- add redis
- add socketio
- add authentication
- OpenShift Deployment guide
- Heroku Deployment guide
- Documentation
- Implement error handling on react components
- Implement geolocalization
- Implement styling
- Invalidate reducers
- More translations
- Re-structure components and pages
- Scaling Redis/Socketio
License
MIT