Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/psu-libraries/etda_explore
https://github.com/psu-libraries/etda_explore
ruby ruby-on-rails
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/psu-libraries/etda_explore
- Owner: psu-libraries
- Created: 2022-06-06T18:56:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-08T14:32:44.000Z (4 months ago)
- Last Synced: 2024-07-08T18:16:00.708Z (4 months ago)
- Topics: ruby, ruby-on-rails
- Language: Ruby
- Homepage:
- Size: 277 KB
- Stars: 1
- Watchers: 6
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ETDA Explore
ETDA (Electronic Theses and Dissertations Application) Explore is a Ruby on Rails web application build on Blacklight that leverages the metadata of released electronic theses and dissertations to permit the search and retrieval of work preserved by the Pennsylvania State University Libraries. ETDA Explore is the discovery portion of the larger ETDA service. ETDA Workflow (the other portion: https://github.com/psu-libraries/etda_workflow) handles the submission, format review, electronic committee approval, and final submission review for students who author electronic theses and dissertations. ETDA Workflow allows administrators to review the work and release the documents according to policy and the author's wishes.
The application is used by each of several different "partners". Currently these partners are the Graduate School, the Schreyer Honors College, the Millennium Scholars Program, and The School of Science Engineering and Technology. Each partner has its own instance of the application along with its own database.### Dependencies
| Software | Version |
|----------|------|
| `ruby` | 3.1 |
| `rails` | 7 |
| `solr` | 8 |
| `mysql` | 8 |### Configuration
All configuration is done via environment variables. The .envrc.example file shows the apps tunables
```
cp .envrc.example .envrc
source .envrc
```### Development Setup
Docker compose is used to setup the mysql and solr instances locally.
From the project root directory:
Run the mysql and solr containers:
docker compose up --build
Omit `--build` if you've already built the images.
Run `bundle install` if gems have not been installed yet.
Load configset and create a solr collection:
bundle exec rake solr:init
Load fixture data into solr:bundle exec rake solr:load_fixtures
Create database and run database migrations:bundle exec rake db:create
bundle exec rake db:migrate
Finally run the rails server and take a look at the app from the browser at localhost:3000:bundle exec rails s
Note: To reset the solr collection and configset run:
bundle exec rake solr:reset### Testing
To run the test suite run:
RAILS_ENV=test bundle exec rspec
To run the linter "niftany":bundle exec niftany
### OAI Endpoint
ETDA Explore uses the blacklight_oai_provider gem to generate an OAI-PMH endpoint. The endpoint can be reached at `/catalog/oai`; it returns XML.
You can query the endpoint by date range with the following query pattern:
?verb=ListRecords&from=2021-01-01&until=2021-05-29&metadataPrefix=oai_dc
### Deployment
To deploy a preview, prepend your branch name with `preview/` like so: `preview/your-branch-name`. A preview will deploy when you push this branch to GitHub.
Any PRs merged to main will automatically be deployed to QA.
To initiate a production deploy, create a new release. Then, merge the automatically created PR in the config repo: https://github.com/psu-libraries/etda-config