Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: john-shepherdson
  • License: apache-2.0
  • Language: Java
  • Default Branch: main
  • Size: 137 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 6
Created about 1 year ago · Last pushed 12 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

EOSC Node Registry (demo)

SQAaaS badge

This repository contains the source code for a demonstration version of the EOSC Node Registry. See the EOSC Node Registry Architecture document for further details.

Prerequisites

Java 21 or greater is required to build and run this application.

Quick Start

  1. Check prerequisites and install any required software.
  2. Clone the repository to your local workspace.
  3. Build the application using mvn clean verify.
  4. Run the application using the following command: mvn exec:java.

Getting Started

To compile this application, run:

bash mvn install

This will create a WAR suitable for deploying on Java Application servers (e.g. Tomcat, Jetty...).

To compile and run this application locally run:

bash mvn jetty:run

The application will run locally at http://localhost:8080/.

Docker

To create a Docker image, run:

bash mvn install jib:dockerBuild -Dimage=IMAGE_TAG

Substitute IMAGE_TAG for a desired image tag. The application can then be run using docker run -p 8080:8080 IMAGE_TAG and will be hosted on http://localhost:8080/.

Options

To set url environment variable for nodedRegistry component:

bash export NODEREGISTRY_URL="http://localhost:1336"

Project Structure

This project uses the standard Maven project structure.

``` text

├── .mvn # Maven wrapper. ├── src # Contains all source code and assets for the application. | ├── main | | ├── java # Contains release source code of the application. | | └── resources # Contains release resources assets. | └── wepapp # Contains home page. | └── test | ├── java # Contains test source code. | └── resources # Contains test resource assets. └── target # The output directory for the build. ```

Technology Stack

Several frameworks are used in this application.

| Framework/Technology | Description | | -------------------------------------------------- | --------------------------------------------------------- | | Spring-boot | Use to create Spring-powered, production-grade applications and services | | com.h2database | Java SQL database | | org.apache.logging.log4j | Java logging framework | | Springdoc-openapi | Helps with automating the generation of API documentation using Spring Boot projects | | junit-jupiter-api | Java unit testing framework | | Gson | Java library used to convert Java Objects and/or Strings into their JSON representation | | Apache HttpComponents client | Http client | | com.google.cloud.tools | Use for building Docker and OCI images for Java applications | | org.sonarsource.scanner.maven | SonarQube scanner for Maven| | com.mycila | Checks that each source file has licence header | | org.jacoco | Java code coverage library | | org.apache.maven.plugins | Executes the unit tests of a Maven application or project |

Configuration

The initial list of nodes (and their attributes) is configured using nodes.cvs.

``` text Each line contains the details of a single node as a set of blocks.ttp client Each block is separated using a comma. Lists of items within a block are separate using a semicolon. The order of blocks is * node ID * node name * logo URI * PID URI * legal entity [Legal Entity Name;Legal Entity ROR ID] * capabilities - list of triples separated by a semicolon - [capability name;capability endpoint URI; capability version]

For example 1,CESSDA Node,https://example.com/cessdalogo.png,hdl:20.500.12345/cessda [CESSDA ERIC;https://cessda.eu/RORID], https://cessda.eu/api,[Service Monitoring;https://example.com/api/service-monitoring;1.2]; [Resource Catalogue;https://example.com/api/resource-catalogue;3.0]; [Management System (including Helpdesk);https://example.com/api/management-system;1.3] ```

Resources

Issue Tracker

Swagger API docs

Running Swagger tests

  • for Search for node by ID, use any value between 1 to 10 inclusive
  • for Search for nodes by capability, use one of
    • Resource Catalogue
    • Identity Management
    • Application Workflow Management
    • Service Monitoring
    • Service Accounting
    • Order Management
    • Management System (including Helpdesk)

Owner

  • Name: John Shepherdson
  • Login: john-shepherdson
  • Kind: user
  • Location: United Kingdom
  • Company: CESSDA

Citation (CITATION.cff)

#
# Copyright © 2025 EOSC Beyond
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: EOSC Node Registry (demo)
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: John
    family-names: Shepherdson
    email: john.shepherdson@cessda.eu
    affiliation: CESSDA ERIC

GitHub Events

Total
  • Release event: 6
  • Delete event: 4
  • Issue comment event: 18
  • Push event: 56
  • Pull request event: 30
  • Create event: 16
Last Year
  • Release event: 6
  • Delete event: 4
  • Issue comment event: 18
  • Push event: 56
  • Pull request event: 30
  • Create event: 16

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 14
  • Average time to close issues: N/A
  • Average time to close pull requests: about 4 hours
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.71
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 14
  • Average time to close issues: N/A
  • Average time to close pull requests: about 4 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.71
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • john-shepherdson (14)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/codeql.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/analyze v3 composite
  • github/codeql-action/init v3 composite
Dockerfile docker
  • eclipse-temurin@sha256 a0beb73cc0482c579ccff1a2df91024d8c01783d0772ad0c26f3817d3e9ad0b9 build
  • tomcat 10.1-jdk21 build
pom.xml maven
  • com.google.code.gson:gson 2.12.1
  • com.h2database:h2
  • io.github.alaugks:spring-messagesource-catalog 0.5.0
  • org.apache.httpcomponents:httpclient 4.5.14
  • org.apache.logging.log4j:log4j-api
  • org.apache.logging.log4j:log4j-core
  • org.apache.logging.log4j:log4j-slf4j-impl
  • org.springdoc:springdoc-openapi-starter-webmvc-ui 2.8.4
  • org.springframework.boot:spring-boot-starter-data-jpa
  • org.springframework.boot:spring-boot-starter-web
  • org.junit.jupiter:junit-jupiter 5.12.0 test
  • org.mockito:mockito-core test
  • org.springframework.boot:spring-boot-starter-test test
.github/workflows/build.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-java v4 composite
.github/workflows/markdownlint.yml actions
  • DavidAnson/markdownlint-cli2-action v19 composite
  • actions/checkout v4 composite