README
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