Technical overview

Binder has been created by leveraging existing functionality from AtoM, and adding new functionality on top of it.

Reusing AtoM as a basis for Binder

AtoM is comprised of:

  • HTML pages served to a web browser from a web server (Nginx)
  • A database on a database server (MySQL 5.1+)
  • PHP (5.3.10+) and several PHP extensions, and the Symfony (1.4) framework
  • Elasticsearch, a distributed search server based on Apache Lucene, which AtoM interacts with via a RESTful API

For more information, see the AtoM documentation.

Additional modules specific to Binder have been added via AngularJS (1.2) front-end pages, which Binder communicates with via an HTTP API.

Binder-specific UI components, written in AngularJS, have been abstracted from AtoM, which is currently used as a back-end dependency. This abstraction will allow AtoM to be replaced in the future if desired, as Binder grows and the need for a customized environment (e.g. a database, web server, and search index specific to Binder) becomes more relevant.

Since Binder’s front-end consumes data via a RESTful API, it can be integrated with other applications in the future with minimal structural changes. See the API documentation for more details.

Back to top