datacite / lupo

DataCite REST API
https://api.datacite.org
MIT License
12 stars 8 forks source link
doi graphql jsonapi lupo rails-api ruby

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

License

Lupo is released under the MIT License.