InterMine Registry is a place where all the up-to-date instances information is stored and can be consumed by applications like Blue Genes, iOS, InterMine R, the friendly mine tool or available to everyone who needs it. The core of InterMine Registry is its RESTful API. Running over Node.js integrated with MongoDB, it contains methods (endpoints) to administer the instances on the registry (add, update & delete) and search among them. Furthermore, InterMine Registry also includes a nice fully responsive front-end web application, from which everyone can see all the InterMine instances and search among them.
InterMine registry was entirely implemented and developed as a GSoC 2017 program project by the student Leonardo Kuffo. Click here to find all of Leonardo's contributions for the project as evidence of his work.
The core of the InterMine Registry App is the restFUL API. It contains endpoints to search and administer instances. These endpoints can be reached through the following base path: http://intermine.org/registry/service/
POST
/instances Add an instance to the registry.GET
/instances Get all the instances from the registry.GET
/instances/{instanceIdOrName} Get an instance by its ID or Name.PUT
/instances/{instanceId} Update an instance.DELETE
/instances/{instanceId} Deletes an instance.PUT
/synchronize Update the branding & version information of every instance.PUT
/synchronize/{instanceIdOrName} Update the branding & version information of the specified instance.
You can check the detailed API documentation for more information and testing.
Please visit getting started
Troubleshooting tips - The installation might fail because of the bcrypt
dependency if you're not running on a stable version of node. Bcrypt
doesn't support unstable version of node, so switch to the current stable version of the node , you can use nvm to manage your node version.
The API-DOCS are generated based on the swagger.json
file in the repository. In order for the API-DOCS to work correctly, on this file you have to specify the "HOST" and the "SCHEME" of the app (http or https).
For more in-deep information about the code, and detailed guidelines on the project, please, visit the following link.