a node postgresql api boilerplate
a simple api boilerplate
This is a basic boilerplate for spinning up a non-hypermedia API with a minimum of abstractions. It relies heavily on pg-promise and uses json schema for input validation (via is-my-json-valid).
Install node 6x+ and postgresql (this should be in vagrant or docker).
npm install
to install local dependencies.createdb api-boilerplate
.npm run migrate:up
to initialize the database schema.npm run seed:up
to populate database with seed data.npm run start-dev
to start the api.src/api
(the server will automatically restart on changes).npm run migrate
to check the status of migrations.npm run migrate:up
to migrate to the most recent migration.npm run migrate:down
to roll back one migration.npm run migrate:create
to create a new migration file.npm run seed
to check the status of seeds.npm run seed:up
to load to the most recent seed.npm run seed:down
to roll back one seed.npm run seed:create
to create a new seed file.// one
POST /v1/state
Content-Type: application/json
{
"data": {
"name": "Minnesota",
"abbr": "MN"
}
}
// many
POST /v1/state
Content-Type: application/json
{
"data": [{
"name": "Minnesota",
"abbr": "MN"
}, {
"name": "Vermont",
"abbr": "VT"
}]
}
// many
GET /v1/state
// one
GET /v1/state/1
PATCH /v1/state/1
Content-Type: application/json
{
"data": {
"name": "Minnesota"
}
}
DELETE /v1/state/1