This project delivers a fully working application using the Okanjo framework. You can use this app as a starting point for new web applications.
The Okanjo Boilerplate app includes a simple webpack-based build process, supporting:
- Webpack + Babel – so you can use the latest and greatest ECMA features
- React + Redux – for UI, with JSX support
- Bootstrap + React Bootstrap – for fast UI prototyping
- Sass – For friendlier styling
Of course, if you don't need a UI, you are free to remove all UI and webpack components!
To run this app, you will need:
- Node.js LTS v14, v16 – http://nodejs.org
Once cloned, run npm to install the required dependencies.
For development:
$ npm iThis will install all dependencies needed to run the app in development mode
For production:
$ npm i --productionThis will install only the dependencies needed to run the pre-built app
To start the app:
$ npm startTo run the build pipeline:
$ npm run buildTo run unit tests and code coverage:
$ npm run reportAll the scripts registered are:
npm run clean– Purges the coverage and build artifactsnpm run build– Runs the webpack build pipelinenpm run test– Runs the unit tests (no coverage)npm run cover– Runs the unit tests with coveragenpm run lint– Runs eslint for code quality checksnpm run report– Runs unit tests with coverage and eslint quality checksnpm run watch– Runs the webpack build pipeline with updates enablednpm run start– Starts the app
- Framework
- Okanjo
- Hapi – https://hapijs.com/api
- catbox-redis – https://github.com/hapijs/catbox-redis
- catbox-memory - https://github.com/hapijs/catbox-memory
- good – https://github.com/hapijs/good
- good-console – https://github.com/hapijs/good-console
- good-squeeze – https://github.com/hapijs/good-squeeze
- hapi-auth-basic-key – https://github.com/kfitzgerald/hapi-auth-basic-key
- joi – https://github.com/sideway/joi
- Commander.js – https://github.com/tj/commander.js/
- nanoid - https://github.com/ai/nanoid
- Build Process
- Babel – https://babeljs.io/docs/en/
- Webpack – https://webpack.js.org/
- @svgr/webpack - https://react-svgr.com/
- ESLint – https://eslint.org/
- UI Stack
- React – https://reactjs.org/docs/hello-world.html
- Redux + DevTools – https://redux.js.org/
- Redux-Thunk – https://github.com/reduxjs/redux-thunk
- Redux-Localstorage – https://github.com/elgerlambert/redux-localstorage
- React-Router – https://reacttraining.com/react-router/web/guides/philosophy
- React-Bootstrap – https://react-bootstrap.github.io/getting-started/introduction/
- Bootstrap - https://getbootstrap.com/
- Sass – https://sass-lang.com/
- autoprefixer - https://github.com/postcss/autoprefixer
- clean-css - https://github.com/clean-css/clean-css
- Utilities
- Classnames – https://github.com/JedWatson/classnames
- TitleCase – https://github.com/blakeembrey/change-case
- Formik - https://formik.org/
- Yup - https://github.com/jquense/yup
- Testing
- Mocha – https://mochajs.org/
- Should – https://shouldjs.github.io/
- nyc – https://github.com/istanbuljs/nyc