Architecture
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.