@formysister love hapi.js. If you haven't used this beautiful, scalable and carefully crafted framework for real world application, you should check it out!
This is our official starter kit which has been tested in our production and passed all the scalability, performance and reliability expectations.
Clone this repo.
git clone https://github.com/formysister/typescript-hapi-boilerplate.git`
install dependencies
npm installTo run locally for development
npm run devTo build a bundled transpiled javascript app
npm run buildYou should see the output in your terminal:
# npm run dev
> hapi-typescript-boilerplate@1.0.0 dev /Users/alex/Documents/projects/typescript-hapi-boilerplate
> nodemon
[nodemon] 2.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): src/**/* main.ts
[nodemon] watching extensions: ts
[nodemon] starting `ts-node ./main.ts`
Server running at: http://mypc.local:3000
npm tRunning tests in watch mode along with coverage
npm run test:watchOR without coverage
npm run test -- --watchBuild the bundle: leveraging webpack, we can compile our code and bundle it together so you no longer need to maintain dependencies in production environment.
npm run bundleAbove script will produce dist folder that contains your compiled application. you can now simply node ./dist/main.js or use pm2 as your process manager pm2 start ./dist/main.js
For a devOps, you cannot ignore the contributions made by Docker to bring inner peace in their lives.
TODO: Docker deployment guide
In progress.
- Stop being lazy and move the kit to opensource.
 - Configure basic structure
 -  
Typescript -  
@Hapi/hapiv19 -  
Webpack -  
Jestconfiguration - LICENSE
 - Folder structure
 -  
supertestintegration -  Write example test with 
jestandsupertest - Write Dockerfile
 - Write docker-compose.yml file
 -  Write 
FAQ -  Write 
Features -  Configure 
TravisCI 
TODO: Features In progress.
TODO: FAQ In progress.
Use any of the following medium for support:
- Raise a ticket on github
 - Reach me on my email (in package.json)
 - Reach me on my linkedin.
 - Reach on portfolio website and ask for me on chat(Shold be used as rarely as possible!)