e-Science Central Platform
This repository contains the code for the core e-Science Central (e-SC) services. It includes the low level services that are required in order to build e-SC based applications.
The e-S platform provides a basic set of services that allow applications to be build which can create and manage projects, store data files in these projects and includes Device management functionality. The purpose of this software is to provide the bare minumum set of services which can be deployed within a Java Application Server and accessed via an API. Higher level abstractions and user interfaces can then be build on these basic services. A description of the various concepts can be found here.
The API documentation is powered Swagger.io. Swagger docs are built and deployed into the App server during the normal build process. When running in Docker the documentation for each service is available at the following URLs
Source Code Structure
The code in this repository is divided into multiple projects, which are described here.
Building the Platform
In order to build the platform and execute the unit tests, JDK8+ and Apache Maven 3.6+ are required. All additional libraries and dependencies will be downloaded during the build process. To build the platform, execute:
mvn clean install
from the top level folder. More build details can be found here.
During the build process, multiple tests will be executed. Some of these are concerned with the low level operation of the individual components, however there is a
tests/ folder which contains the
api-tests project. This project performs a comprehensive set of system tests via the external API that validate the security model and operation of the API. These tests are described in more detail here and all additional API functionality MUST have tests cases added to this project and also the tests document.