Sign inSign up

uclalibrary/ursus

By uclalibrary

•Updated about 2 months ago

Public-facing blacklight discovery app for californica content.

Image
0

10K+

uclalibrary/ursus repository overview

⁠UCLA Library Management - Ursus


⁠Ursus is designed as the public interface for UCLA's digital library content.

Bruin Bear (statue)⁠ In 1984 to mark its 50th Anniversary, the UCLA Alumni Association commissioned "Mighty Bruins" and presented the Bruin Bear Statue to the university. The statue⁠ is now a campus landmark and a focal point in Westwood Plaza.


Build Status Apache 2.0 License Coverage Status This project is using Percy.io for visual regression testing.


⁠Development

This section gives basic instructions to get Ursus running locally. More extensive developer documentation is maintained in the wiki⁠.

⁠Install and run locally

Ursus is a Black application and only needs Solr and Fedora.

Ursus can be locally run in two ways:

  1. Running in standalone mode
  2. Running in conjunction with local instance Californica

⁠Standalone mode

The file docker-compose-standalone.yml includes a setup with a clone of the ursus-stage and sinai-stage solr indexes, so you do not need to run californica and manually ingest material (in fact, californica should #not# be running to avoid port conflicts.)

⁠1. Clone the repo from GitHub
git clone [email protected]:UCLALibrary/ursus.git
⁠2. Change directories into the repo
cd ursus
⁠3. Set up the databases
docker-compose run web bundle exec rails db:setup
docker-compose run sinai bundle exec rails db:setup
⁠4. Bring up the development environment

** Do this after setting up the databases** - the startup scripts require the database to be ready so that they can set feature flags e.g. for the Sinai UI mode.

docker-compose up
⁠Ursus should now be running

⁠Running in conjunction with local instance of Californica

If the stand-alone version of Ursus is running, stop it with:

docker-compose down

⁠1. First, install Californica⁠ and ingest some data;

make sure californica is running so ursus can point to its data.

⁠2.Clone the Ursus repo from GitHub and change directories into the Ursus repo:
git clone [email protected]:UCLALibrary/ursus.git
cd ursus
⁠4. Open a tab in your terminal
docker-compose -f docker-compose-with-californica.yml run web bundle exec rails db:setup
docker-compose -f docker-compose-with-californica.yml run sinai bundle exec rails db:setup
docker-compose -f docker-compose-with-californica.yml up
⁠5. Open a second tab in your terminal

This will connect to a shell inside the container.
This is where you will run the linters and unit tests

docker-compose -f docker-compose-with-californica.yml run web bash

⁠6. Open a third tab in your terminal
docker-compose -f docker-compose-with-californica.yml run sinai bash
⁠7. Open a fourth tab in your terminal for git commands
git ...
⁠Running linters and unit tests

Connect to a shell inside the container with:

docker-compose run web bash

Then run the entire suite, except for the cypress integration test, with:

sh start-ci.sh

You can inspect the start-ci.sh script to see which linters and tests this invokes.

⁠Running the integration tests

First, you will need to install node.js and npm locally.

Then cd into the e2e directory and install the javascript dependencies:

cd e2e
npm install

Next, you can either open the cypress test runner GUI with:

npx cypress open

or run the tests in the command line:

npx cypress run
⁠Visual regression tests

Visual regression testing is done via percy.io⁠. This runs only for pull requests on travis; it will not run locally.

Tag summary

Content type

Image

Digest

sha256:7b5eac11e…

Size

786.2 MB

Last updated

about 2 months ago

docker pull uclalibrary/ursus