Skip to content

datacite/lupo

Repository files navigation

DataCite REST API

Identifier Release Maintainability Test Coverage

Rails API application for managing DataCite providers, clients, prefixes and DOIs. The API usesthe JSONAPI specification.

Installation

Using Docker.

docker run -p 8065:80 datacite/lupo

or

docker-compose up

If you want to build the docker image locally (instead of pulling it from docker hub) and use docker compose for development you can use

docker-compose -f docker-compose.yml -f docker-compose.local.yml

You can now point your browser to http://localhost:8065 and use the application. Some API endpoints require authentication.

Development

For basic setup one can use the following:

bundle exec rake db:create
bundle exec rake db:schema:load
bundle exec rake db:seed:development:base

All other seed options can be found using rake --tasks

We use Rspec for testing:

bundle exec rspec

Note when using a fresh test database you will need to instantiate the test db with:

bundle exec rake db:create RAILS_ENV=test

Note when accessing the console you will need to disable spring:

env DISABLE_SPRING=true bundle exec rails console

Follow along via Github Issues.

Note on Patches/Pull Requests

  • Fork the project
  • Write tests for your new feature or a test that reproduces a bug
  • Implement your feature or make a bug fix
  • Do not mess with Rakefile, version or history
  • Commit, push and make a pull request. Bonus points for topical branches.

License

Lupo is released under the MIT License.