Skip to content
Snippets Groups Projects

FAIR Data Point

Build Status Codacy Badge Coverage Status

FAIR Data Point (FDP) is a REST API for creating, storing, and serving FAIR metadata. This FDP implementation also presents a Web-based graphical user interface (GUI). The metadata contents are generated semi-automatically according to the FAIR Data Point software specification document.

More information about FDP and how to deploy can be found at FDP Deployment Documentation.

Related projects

How to contribute

Install requirements

Stack:

  • Java (recommended JDK 11)
  • Maven (recommended 3.2.5 or higher)
  • Docker (recommended 17.09.0-ce or higher) - for build of production image

Additional libraries:

  1. Install fairmetadata4j

    $ git clone https://github.com/FAIRDataTeam/fairmetadata4j
    $ cd fairmetadata4j
    $ mvn install
  2. Install spring-rdf-migration

    $ git clone https://github.com/FAIRDataTeam/spring-rdf-migration.git
    $ cd spring-rdf-migration
    $ mvn install
  3. Install spring-security-acl-mongodb

    $ git clone https://github.com/FAIRDataTeam/spring-security-acl-mongodb
    $ cd spring-security-acl-mongodb
    $ mvn install

Build & Run

Run these commands from the root of the project

$ mvn spring-boot:start

Run tests

Run these commands from the root of the project

$ mvn test

Package the application

Run these commands from the root of the project

$ mvn package

Create a Docker image

Run these commands from the root of the project

$ docker build -t fairdata/fairdatapoint .

Security

Most of the GET requests are publicly accessible compares to POST, PUT, and PATCH requests, which are mainly secured. We use JWT Tokens and Bearer Token Authentication. The token can be retrieved in /tokens endpoint where you send username and password.

Default users

  • ADMIN:
    • Username: albert.einstein@example.com
    • Password: password
  • USER:
    • Username: nikola.tesla@example.com
    • Password: password

API documentation

FAIRDataPoint (FDP) API comes with an embedded swagger documentation, the details of API calls can be found here. To access the FDP swagger document please visit the following url via web browser http://localhost:8080/swagger-ui.html

License

This project is licensed under the MIT License - see the LICENSE file for more details.