scaife-viewer / beyond-translation-site

Site used to iterate on translation alignments within the Scaife Viewer ecosystem
3 stars 4 forks source link

Scaife Stack

The scaife-stack project demonstrates an implementation of the Scaife Viewer frontend and backend. The Scaife Viewer dev team hopes to continue to evolve this repository to serve as a template for sites that wish to utilize the Scaife Viewer.

Site Components

Local Development using Docker Compose

The following Dockerfiles are configured to build environments / install dependencies for the frontend and backend:

docker-compose.yml and docker-compose.override.yml are set up to mount the appropriate component to the appropriate service:

To bring up the stack:

docker-compose up

To rebuild images used by the stack:

docker-compose up --build

(you may also use docker-compose up -d to run the stack in the background)

To bring down the stack and remove data volumes:

docker-compose down --rmi all -v

To run a one-off container for the atlas service:

docker-compose run atlas sh

To connect to the running container for the atlas service:

docker-compose exec atlas sh

Loading data into ATLAS

By design, the ATLAS data ingestion process is designed as an atomic process:

If a new annotation was to be added into ATLAS, the entire SQLite database would be destroyed and all data re-ingested. Please note that the Scaife Viewer dev team does plan on supporting incremental updates in the future.

For the translation-alignments-stack, load data via

docker-compose exec atlas python manage.py prepare_atlas_db

Deployment

For convenience, heroku.yml and heroku.dockerfile can be used to deploy the stack as a Heroku application.

Customize app.json and heroku.yml as-needed for projects derived from this repo.

Review Apps

Review Apps have been set up for Beyond Translation.

To have a review app created for a pull request:

Nav