pilotfish-api

Nodejs server side api for Pilotfish, a toolkit for improving user experience

Usage no npm install needed!

<script type="module">
  import pilotfishApi from 'https://cdn.skypack.dev/pilotfish-api';
</script>

README

Build Status

Warning

This code is not production ready. Pilotfish developers are practicing README driven development, so this documentation is being written before the code is actually done. :) If the project interests you and you would like to be notified when the first release is ready, let us know. TODO: Link to newsletter signup.

About

This is the API for the pilotfish user experience platform, that supports any plugins that require a server side component. It also supports the pilotfish-console, which is a thick client frontend for all the data in this api.

Pilotfish has a platform-as-a-service that runs at api.pilotfish.io (recommended), and it runs this code in a reliable, scalable environment. If you would like to run the API in your own environment, see Running the API on your own.

Using the API

Quick examples

For full examples, see the tests or the documentation

Entry points

Scribbled quickly, to paint a picture of what kinds of things we might support:

Core
  • /api/v1/publisher
    • basic info
    • config for what modules they want enabled (input via the)
  • /api/v1/events (everything you would need to support Mix Panel or Kiss Metrics)
    • clicks
    • views
    • enter
    • exit
    • login
    • error
    • register
    • custom defined
      • events
      • events with arbitrary data
      • goals/success/failure (for funnel analysis)
  • /api/v1/events/query - get stats back on the above
Console
  • /api/v1/user
    • store arbitrary key / values for that user - publisher can do whatever they want with it to personalize data.
    • user auth
    • Singly?
Plugins
  • /api/v1/plugins/sendFeedback
  • /api/v1/plugins/surveys
  • /api/v1/plugins/ratings
    • set
    • get
  • /api/v1/plugins/captcha
  • /api/v1/plugins/jslog (capture javascript errors)

Auth

Oauth2 and API key?

Running the API on your own

Requirements

  • node >= 0.8?

Install

git clone https://github.com/pilotfish/pilotfish-api.git 
cd pilotfish-api
npm install

Running

It's recommended that you run this with a watchdog service such as forever or supervisord.

Testing

There is a full test harness that exercises all of the functionality of the API. npm test will start the server, issue http requests, and check the results for the expected behavior. These tests will be run upon every commit with travis-ci (see build status icon at the top)

More information

  • The docs
  • Google Group
  • File issues on github