Hapi React Starter Kit

screenshot of Hapi React Starter Kit
react
material-ui

A hapi React Starter kit with react-router, redux, react-transform

Overview

The hapi-react-starter-kit is a starter kit that combines the hapi server framework with React JS library for building user interfaces. It also includes a number of additional features such as react-router for keeping the UI in sync with the URL, Redux for Flux implementation, and React-Helmet for document head server-side rendering. The kit is built with ES6 and ES7 readiness using BabelJs, and includes linting with eslint & jscs, testing with karma and mocha, and API validation with Joi.

Features

  • Hapi server framework for Node.js
  • React JS Library for user interfaces
  • Webpack + React-transform and react-transform-hmr
  • React Router for keeping UI in sync with the URL
  • Flux implementation using Redux
  • Document Head SSR by React-Helmet
  • ES6 and ES7 ready with BabelJs
  • Linting with eslint & jscs
  • Testing with karma, mocha, isparta, webpack, sinon-chai
  • Coverage with karma-coverage
  • API Interface with Swagger
  • API Validation with Joi
  • Database for storing user data (CRUD) using Redis
  • Password encryption using Iron
  • Promises with bluebird
  • Fetch with isomorphic-fetch
  • Authentication with OAuth2 (Refresh/Access tokens)
  • Token Encoding with node-jsonwebtoken
  • Token Encryption with node-forge
  • Internationalization with react-intl by Yahoo
  • Real-time messaging using Socket.io
  • Inline CSS Styling with Radium
  • OpenShift deployment ready
  • Theming System (work in progress)
  • Extensions System (work in progress)

Summary

The hapi-react-starter-kit is a comprehensive starter kit for building applications using the hapi server framework and React JS library. It includes a wide range of features such as routing, Flux implementation, API interface with validation, database integration, authentication, internationalization, real-time messaging, and more. The kit also provides a theming and extensions system for easy customization and extendability. With its ease of installation and extensive features, the hapi-react-starter-kit is a powerful tool for developers looking to build React applications with the hapi server framework.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

material-ui
Material UI

material-ui adds classes to Tailwind CSS for all common UI components. Classes like btn, card, etc. This allows us to focus on important things instead of making basic elements for every project.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.