• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lighter-than-air node.js server framework

paperplane

Lighter-than-air node.js server framework.

npm version npm downloads Build Status Coverage Status

Documentation

Introduction

The main goal of paperplane is to make building a node.js server easy, without all of the configuration or imperative boilerplate required for other server frameworks. If you prefer to build apps with function composition or even a point-free style, then paperplane is for you.

With paperplane you get all of these out-of-the-box:

Let's try a quick Hello World example server. It accepts a :name param in the url, and then includes that name in the json response body.

const { compose } = require('ramda')
const http = require('http')
const { json, logger, methods, mount, routes } = require('paperplane')

const hello = req => ({
  message: `Hello ${req.params.name}!`
})

const app = routes({
  '/hello/:name': methods({
    GET: compose(json, hello)
  })
})

http.createServer(mount({ app })).listen(3000, logger)

So simple and functional, with an easily readable routing table and pure functions for the route handler. If that sounds like fun to you, then read the Getting started guide or the API docs to learn more.

Example application

To help you learn the concepts used in paperplane, check out the demo application.

If you have docker installed, you can run the demo locally:

  1. Clone this repo
  2. If you're using Docker Desktop for Windows:
    • cp docker-compose.override.windows.yml docker-compose.override.yml
  3. docker-compose up
  4. http://localhost:3000

More Repositories

1

terraform-provider-okta

🎉 Now an official Terraform provider! 🚚 We've moved to https://github.com/terraform-providers/terraform-provider-okta/
Go
108
star
2

biplane

A configuration-based management and automation tool for Kong
Crystal
40
star
3

storyline-sdk

ActionScript
24
star
4

actions-markdownlint

[DEPRECATED] Lint Markdown files with GitHub Actions
Shell
22
star
5

aws-iam-ssh-auth

Auth users connecting via SSH with IAM
Shell
21
star
6

terraform-provider-ohdear

Terraform provider for the Oh Dear monitoring service: https://ohdear.app
Go
18
star
7

funky

Functional helper library
JavaScript
16
star
8

tugboat

[no longer maintained] Creates dynamic virtual hosts for any docker web container you launch.
Makefile
9
star
9

helmcharts

Smarty
8
star
10

react-with-responsive

📱↔️ 🖥️ Responsive Media Query Higher-Order Component (HOC) for React
JavaScript
7
star
11

authentic

Proper validation of JWT's against JWK's
TypeScript
7
star
12

ducks

Collection of redux helper functions
JavaScript
6
star
13

terraform-provider-okta-demos

A series of demonstrations to help you get familiar with configuring Okta with Terraform
HCL
6
star
14

terraform-provider-validation

Terraform provider to do more complex data/input validation.
Go
5
star
15

docker-node

Articulate base Docker images for Node.js
Dockerfile
5
star
16

docker-http-to-https

Simple nginx + config to redirect traffic to https
Dockerfile
5
star
17

gimme

Rest client that goes 💥
JavaScript
4
star
18

aws-eventbridge-action

Send an event to AWS EventBridge from your GitHub Actions workflow
TypeScript
4
star
19

docker-bootstrap

Load values from Consul and Vault as environment variables
Go
4
star
20

sox

Our super-special sockets stuff
JavaScript
4
star
21

dynapro

A thin promised-based wrapper around Amazon's AWS DynamoDB SDK
JavaScript
4
star
22

docker-kong-wait

Adds monit to the base kong image so it auto-restarts if cassandra hasn't started
Shell
4
star
23

talent_scout

Search multiple models using elasticsearch-rails
Ruby
3
star
24

react-svgicon

React component for rendering inline SVG icons
JavaScript
3
star
25

capistrano-fastly

Capistrano tasks for Fastly hosted CDN service
Ruby
3
star
26

jarbs

Lambda Tooling
Ruby
3
star
27

rise-mp3-recorder

Library for recording/encoding to MP3 in the browser
JavaScript
3
star
28

gateraid

JavaScript
2
star
29

paperplane-airbrake

An airbrake wrapper for paperplane.
JavaScript
2
star
30

squiss-jobs

SQS-backed job queue
JavaScript
2
star
31

spy

The sneakiest of spies
JavaScript
2
star
32

orson

JavaScript
2
star
33

dynamoo

JavaScript
2
star
34

asyncios

JavaScript
2
star
35

studio-sdk

2
star
36

authentic-go

Proper validation of JWTs against JWKs. Golang clone of https://github.com/articulate/authentic.
Go
2
star
37

docker-message-db

Docker image for Message DB
Dockerfile
2
star
38

koala

JavaScript
1
star
39

dependabot-local

Ruby
1
star
40

s3-gulp

JavaScript
1
star
41

redux-future2

Future middleware for redux
JavaScript
1
star
42

ice-bridge

Dropbox Archiver written in Go
Go
1
star
43

tinygen

Tiniest of tiny base64 uid generators
JavaScript
1
star
44

authoritah

Crystal
1
star
45

redux-functor

Functor middleware for redux
JavaScript
1
star
46

proxyl

AWS API Gateway Lambda Proxy service dev server
JavaScript
1
star
47

authoritah-js

JavaScript
1
star
48

dampen

Debounce any redux action-creator
JavaScript
1
star
49

hermes

Event-sourced autonomous service toolkit for Node.js
JavaScript
1
star
50

docker-articulate-node-images

Image-crushing base docker image, to make local builds of `images` faster
Dockerfile
1
star