Developing with Pushkin

Pushkin is 100% open-source. We love it when people come together to help fix bugs, build features, and make Pushkin better for everyone. If you’d like to contribute, feel free to open a pull request. The Pushkin project is split into several repos, each corresponding to a Yarn/NPM module. Issues and general project direction is tracked via GitHub’s project boards and issues.

  1. Client (Docs) A module that provides simplified methods for making calls to a Pushkin API and unpacking data sent back from a worker. Note that built-in functions assume the API has corresponding default routes enabled to handle such requests.

  2. API (Docs) Essentially a mini-server designed with the use case of interfacing between Pushkin Client and Pushkin Worker via RabbitMQ.

  3. CLI (Docs) Installable via Yarn. Adds a pushkin command to the path when installed globally and makes working with Pushkin much easier.

  4. Worker (Docs) Receives messages from RabbitMQ and runs whatever functionality it’s told to run, sending the result back through the queue it came from. Designed to be on the receiving end of a Pushkin API. Comes with built-in simple functions that most users will probably want, like “getAllStimuli”.

  5. jsPsych (Docs) The Pushkin jsPsych repo simply makes a few small changes to the official jsPsych library so that it can be bundled together as if it’s a Yarn/NPM module. In order for it to be globally accessible to plugins as they expect, the import must be assigned to window.jsPsych.