New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hapi-api-boilerplate

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hapi-api-boilerplate

Hapi API Server Boilerplate

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-88.89%
Maintainers
1
Weekly downloads
 
Created
Source

Hapi Chairo Api Boilerplate

This project has been inspired by this boilerplate.

Table of Contents

Usage

Run npm install as usual

npm run dev will run the server with config.dev.js settings

npm run staging will run the server with config.staging.js settings

npm run prod will run the server with config.prod.js settings

Plugins loading and registration

You can easily customize your Hapi server by adding the plugins you need in /server.js manifest file or in /lib/index.js.

Jobs, Routes, Auth, Models and Services loading

Everything has been setup in order to avoid the need to write code to add new components to the server. Anyway, since this is a boilerplate and the loading process cannot be completely abstracted, you'll probably need to tweak various things around if you plan to use different packages for models, jobs, services, etc...

Auth Strategies

You can add your authentication strategies in /lib/config/auth.js and they will be registered automatically. The default authentication strategy is set in /lib/index.js.

Routes

Adding a new route is a two step operation:

  1. Create a route as /lib/routes/routename.js
  2. Add routename into /lib/config/routes.js
Prefix

Every registered route is prefixed by a prefix and a version (/api/v1 is the default). API_PREFIXand API_VERSION are defined in /lib/config/routes.js.

Models

To add a new model, just create a new filename into /lib/models/ and it will be loaded automatically.

Jobs

Adding a new job is a two step operation:

  1. Create a job into /lib/jobs/jobname.js
  2. Add jobname into /lib/config/jobs.js

Services

Adding a new service is a two step operation:

  1. Create a service into /lib/jobs/servicename.js
  2. Add servicename into /lib/config/services.js

Project Structure

hapi-chairo-api-boilerplate
├── lib
│   ├── boot      # loader utils
│   ├── config    # configs
│   ├── jobs      # jobs
│   ├── models    # models
│   ├── services  # services
│   ├── routes    # routes
│   └── index.js  # plugins loading and registrations
│
├── test
│   ├── example-test.js 
│
├── logs 
│
├── server.js # server composition
├── config.js # setup ENV config
├── config.dev.js
├── config.staging.js
├── config.prod.js
├── package.json
└── README.md

Packages Docs

Hapi

  • Hapi | Server Framework
  • Glue | Server Composer
  • Poop | Logs uncaught exceptions
  • Boom | HTTP errors
  • Joi | Object Schema validation

Models

Services

  • Seneca | Microservices Toolkit
  • Chairo | SenecaJS/Hapi integration

Jobs

Tests

Utils

TODO

  • Better logs handling
  • API Docs support

Keywords

FAQs

Package last updated on 29 Feb 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc