Project Electron consists of a specification and web application to facilitate ongoing transfers of digital records and their associated metadata from organizations to archives, a repository to store digital records and metadata, an API layer to manage system interactions, and integrations with current and future systems which assist in the archival processes of appraisal, acquisition, arrangement, description, access and preservation.
Requests for Comments
Our Requests for Comments (RFCs) are lightly-structured documents which are intended primarily to create a record of decisions we’ve made regarding technical approaches to solve a particular problem. They are not intended to be policy statements, nor do we expect them to remain unchanged.
- RFC 001: Discovery and Delivery
- RFC 002: API Conventions
- RFC 003: Indexing
- RFC 004: Merging
- RFC 005: Arrangement Maps
- RFC 006: Request Broker Service
A Django web application to support and regularize the ongoing secure transfer of digital records and their metadata to the archives. Explore the Aurora user documentation and find the code in our Aurora GitHub repository.
API Gateway and microservices
An API gateway, microservice applications, and supporting libraries which enable integrations between current and future systems and assist in the archival processes of accessioning, preservation, and discovery. Explore all Project Electron repositories on GitHub.
- zodiac: an API gateway and administration interface for Project Electron microservices, managed via a message queue.
- ursa major: discovers and stores bags.
- fornax: creates Archivematica-compliant Submission Information Packages.
- gemini: downloads packages from the Archivematica Storage Service and stores them in Fedora.
- aquarius: transforms and delivers accessions, archival objects and digital objects to ArchivesSpace.
- libra: generates reports on files and activities in Fedora.
- zorya: creates bags from files generated by disk imaging and digitization processes.
- aquila: stores, calculates, and assigns PREMIS rights statements.
DIMES is a React web application which provides the front-end user interface for the online discovery of archival collections, objects, and agents.
The Request Broker processes and delivers request data submitted by users from an archival discovery environment.
Cartographer manages JSON tree representations of all the archival collections, sub-collections, and parts (record group, subgroup, series, subseries, etc.) by a designated agent/creator.
A highly performant data pipeline which fetches data from ArchivesSpace, transforms it according to our data model, indexes it in Elasticsearch, and serves it up via an API.
- pisces: retrieves, merges and transforms data for discovery.
- scorpio: adds and deletes archival data (collections, objects, agents and terms) from an Elasticsearch index.
- argo: provides a wrapper around the Elasticsearch REST API, and adds additional endpoints required by the DIMES user interface.
- asterism: helpers and common patterns used in Project Electron infrastructure.
- Electron Bonder: client library for working with the Project Electron APIs built using ArchivesSnake.
- rac_es: helpers for Elasticsearch.
- rac-schemas: JSON schemas and validation helpers.
- IIIF pipeline: a pipeline to create image derivatives and IIIF Manifests.