- React for frontend development
- GraphQL for backend API
- Apollo for backend/frontend data flow management
- Redux for frontend data management. Apollo integrates with Redux.
- React-router for clientside routing
- Aphrodite for styling
- Express for the server
- Webpack for development server + hot reloading clientside stuff
- Nodemon for hot reloading backend code
- Rollbar for production error handling
- Minilog for client and server logging
- Node-foreman for running both the Webpack server and Express server
- ESLint to keep your Javascript style consistent
- Babel to use the latest Javascript language features
- Automatic asset versioning so that you can aggressively cache your assets in production
- Server side rendering out of the box
- Custom Apollo network interface that lets you add middleware to handle responses from GraphQL. This would be a good place to put any error handling that you want to do globally (e.g. unexpected errors from GraphQL, user authorization or authentication errors, etc.).
- Sane handling of unexpected exceptions
- This demo work with Windows/ Update env.bat and edit package.json %VAR% -> $VAR to work with Linux
- Install Node.js.
- Clone this starter kit
- Set up an ESLint plugin in your code editor so that you catch coding errors and follow code style guidelines more easily!
- Install the redux-devtools-extension in Chrome to get advanced Redux debugging features.
- run env.bat to setup enviroment variables
npm install
npm run dev
- Navigate to
http://localhost:3000
to see your app in action. - Navigate to
http://localhost:3000/graphiql
to mess around with the GraphQL API. - Start making changes by working in the
src
directory