Arches Web Applications

Arches was designed from the ground up to be built upon and extended. In fact, applications built on top of Arches can they themselves be built upon. HistoricPlacesLA.org is a good example of this.

Think of Arches as a strong foundation onto which you can build your own Arches powered web application. Arches abstracts the low level details of managing your data and allows you to focus on building an application tailored to your needs.

Out of the box, Arches provides the functionality to store, index, and search (temporally, spatially, and free text) any data entered into the system and to present it on a map or in tabular search results. If you only need to read data out of the system then you’re ready to go.

Arches ends at the point of data entry and reporting. If you need that level of functionality then you’ll need to build that into your own application. See the Arches-Hip application for an example of an application built on top of Arches.

Architecture

Arches is comprised of 4 basic components.

  1. A django based server tier written in python
  2. A bootstrap based UI using a combination of javascript and css
  3. A spatially enabled postgres database
  4. An elasticsearch search engine

Internally, Arches uses a REST based api to transfer data back and forth between the UI and the server and between the server and the elasticsearch service.

Arches is a multi-page application. The pages are a hybrid of traditional django templates and backbone views. Each page will typically have a template called my_template.htm and a matching backbone view called my_template.js

For Example:

arches
    app
        templates
        ..my_template.htm

arches
    app
        media
            js
            ..my_template.js

Home Page

Map

Resource Data Management

Forms

Reports

Elasticsearch

Indexing Arches Data

Arches Search Services