Developed in Ruby on Rails, there are several core components of the Supplejack platform:

  • Manager (user interface for controlling activity)
  • Worker (for harvesting, enrichment, and link checking activity)
  • API (public API wrapper to search index and metadata repository)
  • Common (shared helpers for the the Worker and Manager)

Additionally, the Suppejack stack includes:

  • Website (demo web application that provides simple search, result, filtering, and view interfaces to collected items)
  • Client (client gem used by the demo website to interface with the Supplejack API)

Supplejack relies on integration with both a search index (default is Solr) and a metadata repository (default is MongoDB). The code and documentation provided is tailored for a monolithic install, however in a full production environment DigitalNZ runs a cluster of front-end services delivering the public API, supported by a back-end service dedicated to harvesting.

Supplejack Architecture