FAIR Data Point
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:
-
Install
fairmetadata4j
$ git clone https://github.com/FAIRDataTeam/fairmetadata4j $ cd fairmetadata4j $ mvn install
-
Install
spring-rdf-migration
$ git clone https://github.com/FAIRDataTeam/spring-rdf-migration.git $ cd spring-rdf-migration $ mvn install
-
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
- Username:
-
USER:
- Username:
nikola.tesla@example.com
- Password:
password
- Username:
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.