/prestige

Primary LanguageJavaScript

Prestige

APIs are the future. Well, APIs were the future around 10 years ago. Creating APIs for all the things means more rapid development and future growth for your tech stack.

What?

Prestige is basically a replacement for Apigee. Think: API proxy that can do fun stuff in the middle of the request like transform JSON to XML, check for API keys, headers, throttles, rate limiting, etc.

Ambitious goal: store analytics about every API request in a time series database and graph some fun data about the APIs being proxied.

Tech stack

Let's go crazy.

Asynchronous. Fast. JavaScripty.

Hate callbacks? Me too. Hi, Harmony!

Cache all the things.

RethinkDB (future-land)

Like MongoDB, but with less suck. Also, a sweet admin interface.

InfluxDB (future-land)

Time series database. Has a penchant for analytics.

Requirements

NodeJS

  1. Download and install a bleeding-edge version of NodeJS e.g. 0.11.9

Prestige

  1. git clone git@github.com:adamghill/prestige.git
  2. cd prestige
  3. npm install
  4. npm install nodemon -g
  5. up.sh

Redis

  1. Download and un-archive Redis
  2. cd ~/Downloads/redis-2.8.6
  3. make
  4. cd src
  5. redis-server

Future-land requirements

RethinkDB

  1. rethinkdb
  2. RethinkDB admin

InfluxDB

  1. influxdb -config=/usr/local/etc/influxdb.conf
  2. InfluxDB admin

Tasseo

  1. git clone git@github.com:obfuscurity/tasseo.git
  2. Install locally
  3. Set up the InfluxDB backend