VisCodex is for building models of the physical collation of manuscripts, and then visualizing them in various ways. The VisCodex project is led by Dot Porter at the Schoenberg Institute for Manuscript Studies at the University of Pennsylvania, in collaboration with the University of Toronto Libraries and the Old Books New Science lab. Collaborators include Alexandra Gillespie, Alberto Campagnolo, and Conal Tuohy.
rvm
(>= 1.29.1)ruby
(>= 2.4.1)node
(>= 6.11.4)npm
(>= 3.10.10)
mailcatcher
(>= 0.6.5)- Redux DevTools for Firefox or Chrome (>= 2.15.1)
Instead of manually installing the dependencies locally on your machine for development, you can use Docker with the provided Dockerfile and docker-compose.yml.
Update the mongo host name on line 12 in viscoll-api/config/mongoid.yml
from localhost
to mongo
(this is the Docker service name defined in docker-compose.yml).
Bring up the containers with:
docker-compose up
To access emails being sent by the app (for user account activation, password reset, etc), set up Ethereal with the following credentials:
:user_name => '[email protected]',
:password => 'RP4P6zMm3rVW9adMZF'
This configuration is located at viscoll-api/config/environments/development.rb
.
Skip this section if you are using Docker for development.
Rails-driven back-end for VisCodex
rvm
(>= 1.29.1)ruby
(>= 2.4.1)
mailcatcher
(>= 0.6.5)
Run the following commands to install the dependencies:
rvm --ruby-version use 2.4.1@viscollobns
bundle install
Set the admin email address in two locations:
viscoll-api/app/mailers/mailer.rb
on line 18:
toEmail = Rails.application.secrets.admin_email || "[email protected]"
and viscoll-api/app/mailers/feedback_mailer.rb
on line 10:
to:"[email protected]",
Then run this to start the API server:
rails s -p 3001
If you wish to receive confirmation and password reset emails while developing, also start the mailcatcher daemon:
mailcatcher
Run this command to test once:
rspec
Alternatively, run this command to test continually while monitoring for changes:
guard
Redux-driven user interface for VisCodex
node
(>= 6.11.4)npm
(>= 3.10.10)
- Redux DevTools for Firefox or Chrome (>= 2.15.1)
Run this to install the dependencies:
npm install
Then run the dev server which brings up a browser window serving the user interface:
npm start
Run this command to test once:
npm test
Alternatively, run this command to test continually while monitoring for changes:
npm test -- --watch
Before building the app, edit line 3 in viscoll-app/src/store/axiosConfig.js
to contain the correct root endpoint of the VisCodex API:
export let API_URL = '/api';
Build the app with:
npm build
Copyright 2020 University of Toronto Libraries
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.