rsd-as-a-service

This repo contains the new RSD-as-a-service implementation

https://github.com/research-software-directory/rsd-as-a-service

Science Score: 46.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 17 committers (11.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

This repo contains the new RSD-as-a-service implementation

Basic Info
  • Host: GitHub
  • Owner: research-software-directory
  • Language: TypeScript
  • Default Branch: main
  • Homepage: https://research.software
  • Size: 194 MB
Statistics
  • Stars: 34
  • Watchers: 3
  • Forks: 20
  • Open Issues: 125
  • Releases: 82
Created over 4 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security

README.md

RSD-as-a-service

image

Our mission: To promote the visibility, impact and reuse of research software

This repo contains the new RSD-as-a-service implementation. The service can be found at: https://research-software-directory.org

Badges

| fair-software.nl recommendations | | | :-- | :-- | | (1/5) code repository | GitHub repo badge | | (2/5) source code license | License | |           images & docs licenses | License: CC BY 4.0 License: CC BY-SA 4.0 License: CC0-1.0 License: MIT | | (3/5) community registry | Research Software Directory | | (4/5) citation | DOI | | (5/5) checklist | CII Best Practices | | overall | fair-software.eu | | Other best practices |   | | Contributor covenant | Contributor Covenant | | Contribution guidelines | Contribution Guidelines | | Tests |   | | Citation metadata consistency | cffconvert | | Frontend | Frontend tests Coverage | | Backend | Backend tests | | Authentication | Authentication tests Coverage | | Scrapers | Scraper tests Coverage | | End-to-end | E2E tests Chrome |

How to build and run the RSD

Building from source code

  1. Before installing the dependencies ensure that you have docker and docker compose V2 (see the documentation of Docker Compose) locally.
  2. You will also need make to automate the configuration and installation process.
  3. Set the required environment variables: Copy the file .env.example to .env file at the root of the project and fill the secrets and passwords. Check if the secrets are correct. The Makefile will take care about creating an appropriate frontend/.env.local from the .env file, needed only when developing the frontend.
  4. Run make install to install all dependencies and build the docker images.

Running the services

```

Start the containers via the make file

make start

OR directly use docker compose

docker compose up ```

Stopping the services

```

Stop all services via the makefile

make stop

OR directly use docker compose

docker compose down ```

Developing the RSD

We discourage the use of Safari for developing the RSD. The reason is that it is not possible to sign in with Safari on localhost, because Safari handles secure cookies differently from other browsers.

When you need DOIs to test out functionality involving mentions, some lists can be found at pull request #808.

For more details on developing the RSD, see the respective readmes in the varying directories.

Developing the frontend

You can run frontend in development mode as docker a service (called frontend-dev) that enables hot reloading. By default this frontend-dev service will not be started automatically. For more detailed instructions see frontend/README.md.

```

Run frontend development using docker at http://localhost:3000

make frontend-dev

OR use docker compose directly

docker compose -f docker-compose.yml -f docker-compose.dev.yml up ```

It is possible to directly run the frontend too (without using a docker container). You must then have Node.js installed, see the Dockerfile in the frontend directory for the version in use.

```

Build and install all dependencies.

make install

Run the frontend and the documentation on localhost:3000 and localhost:3030

make dev

Stop all services with docker compose down

make down ```

License

The content of this repository is licensed under several licenses. We follow the REUSE specification to indicate which license applies to the files specifically. Here are some general hints:

  • Source code is licensed under Apache-2.0
  • Documentation and most images are licensed under CC BY-4.0
  • Some files with trivial content, e.g. configuration files, are licensed under CC0-1.0

For more details on the licenses, please have a look at the file headers or associated *.license files. The terms of all used licenses are located in the LICENSES directory.

Owner

  • Name: Research Software Directory
  • Login: research-software-directory
  • Kind: organization
  • Location: Amsterdam, The Netherlands

GitHub Events

Total
  • Create event: 117
  • Release event: 15
  • Issues event: 234
  • Watch event: 8
  • Delete event: 79
  • Issue comment event: 983
  • Push event: 887
  • Pull request review comment event: 105
  • Pull request event: 188
  • Pull request review event: 302
  • Fork event: 5
Last Year
  • Create event: 117
  • Release event: 15
  • Issues event: 234
  • Watch event: 8
  • Delete event: 79
  • Issue comment event: 983
  • Push event: 887
  • Pull request review comment event: 105
  • Pull request event: 188
  • Pull request review event: 302
  • Fork event: 5

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 2,423
  • Total Committers: 17
  • Avg Commits per committer: 142.529
  • Development Distribution Score (DDS): 0.526
Past Year
  • Commits: 407
  • Committers: 8
  • Avg Commits per committer: 50.875
  • Development Distribution Score (DDS): 0.592
Top Committers
Name Email Commits
Dusan Mijatovic (PC2020) d****c@d****l 1,149
Ewan Cahen (Netherlands eScience Center) e****n@e****l 730
Jesús García Gonzalez (Netherlands eScience Center) j****z@e****l 148
Jason Maassen (Netherlands eScience Center) j****n@e****l 138
Christian Meeßen 1****n 130
Matthias Ruester m****r@g****e 34
paulastock p****k@g****e 30
Christopher Cave-Ayland c****d@i****k 22
Dusan Mijatovic (Mac2023) d****c@e****l 14
Diego Alonso Alvarez d****z@i****k 8
Norman Ziegner n****r@u****e 8
Felix Mühlbauer f****r@g****e 6
Seth0r g****b@s****t 2
Jochen Staerk j****k@u****e 1
John Swinbank j****n@s****g 1
tatamibox t****i@g****m 1
Lunaris282 s****4@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 356
  • Total pull requests: 371
  • Average time to close issues: 6 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 19
  • Total pull request authors: 12
  • Average comments per issue: 0.94
  • Average comments per pull request: 2.5
  • Merged pull requests: 304
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 166
  • Pull requests: 206
  • Average time to close issues: 19 days
  • Average time to close pull requests: 6 days
  • Issue authors: 12
  • Pull request authors: 7
  • Average comments per issue: 0.65
  • Average comments per pull request: 2.44
  • Merged pull requests: 168
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dmijatovic (86)
  • ewan-escience (71)
  • jmaassen (66)
  • cmeessen (52)
  • ctwhome (26)
  • bakhshir (15)
  • fembau (14)
  • paulastock (9)
  • jiskattema (5)
  • BSchilperoort (2)
  • Normo (2)
  • egonw (1)
  • svenvanderburg (1)
  • Peter9192 (1)
  • priya-gitTest (1)
Pull Request Authors
  • ewan-escience (157)
  • dmijatovic (145)
  • cmeessen (31)
  • paulastock (17)
  • fembau (5)
  • jmaassen (4)
  • cc-a (3)
  • ctwhome (3)
  • dalonsoa (2)
  • jdswinbank (2)
  • CWestICL (1)
  • jstaerk (1)
Top Labels
Issue Labels
feature (69) bug (43) feedback (31) UX fix (31) technical debt (21) documentation (10) design (8) CI/CD (8) software quality (6) help wanted (4) technical-debt (4) question (3) security (3) community (2) training (1) good for beginners (1)
Pull Request Labels
bug (3) feature (2) feedback (1)

Dependencies

.github/workflows/_cff.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • stefanzweifel/git-auto-commit-action v4 composite
.github/workflows/_ghcr.yml actions
  • actions/checkout v3 composite
.github/workflows/all_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/backend_tests.yml actions
  • actions/checkout v3 composite
.github/workflows/cff_validate.yml actions
  • actions/checkout v3 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
.github/workflows/documentation-deploy.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v1 composite
  • crazy-max/ghaction-github-pages v2 composite
.github/workflows/e2e_tests_macos.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/e2e_tests_ubuntu.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/fair_software.yml actions
  • fair-software/howfairis-github-action 0.2.1 composite
.github/workflows/frontend_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/release.yml actions
  • TriPSs/conventional-changelog-action v3 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • softprops/action-gh-release v1 composite
.github/workflows/reuse_compliance.yml actions
  • actions/checkout v2 composite
  • fsfe/reuse-action v1.1.1 composite
.github/workflows/scrapers_tests.yml actions
  • actions/checkout v3 composite
authentication/Dockerfile docker
  • maven 3.8.6-openjdk-18 build
  • openjdk 18.0.1.1-jdk-slim-bullseye build
backend-postgrest/Dockerfile docker
  • postgrest/postgrest v10.0.0 build
backend-postgrest/tests/Dockerfile docker
  • node 17.7.1-alpine3.14 build
backend-postgrest/tests/docker-compose.yml docker
  • rsd/auth-test 0.0.5
  • rsd/backend-postgrest-test 0.0.4
  • rsd/database-test 0.0.6
data-generation/Dockerfile docker
  • node 18.8.0-bullseye-slim build
data-migration/Dockerfile docker
  • maven 3.8.5-openjdk-18 build
data-migration/docker-compose.yml docker
  • rsd/data-migration 1.0.0
database/Dockerfile docker
  • postgres 14.2 build
deployment/docker-compose.yml docker
  • ghcr.io/research-software-directory/rsd-saas/auth latest
  • ghcr.io/research-software-directory/rsd-saas/backend latest
  • ghcr.io/research-software-directory/rsd-saas/database latest
  • ghcr.io/research-software-directory/rsd-saas/frontend latest
  • ghcr.io/research-software-directory/rsd-saas/nginx latest
  • ghcr.io/research-software-directory/rsd-saas/scrapers latest
  • swaggerapi/swagger-ui v4.15.0
docker-compose.yml docker
  • rsd/auth 1.2.1
  • rsd/backend-postgrest 1.11.2
  • rsd/database 2.0.1
  • rsd/frontend 1.11.4
  • rsd/frontend-dev 1.11.2
  • rsd/generation 1.0.3
  • rsd/nginx 1.1.2
  • rsd/scrapers 1.3.1
  • swaggerapi/swagger-ui v4.15.0
e2e/Dockerfile docker
  • mcr.microsoft.com/playwright v1.28.1-focal build
e2e/docker-compose.yml docker
  • rsd/e2e-tests 1.0.0
frontend/Dockerfile docker
  • node 18.5-buster-slim build
nginx/Dockerfile docker
  • nginx 1.21.6 build
scrapers/Dockerfile docker
  • maven 3.8.6-openjdk-18 build
  • openjdk 18.0.1.1-jdk-slim-bullseye build
authentication/pom.xml maven
  • org.junit:junit-bom 5.8.2 import
  • com.auth0:java-jwt 4.2.0
  • com.google.code.gson:gson 2.9.1
  • com.nimbusds:oauth2-oidc-sdk 9.32
  • io.javalin:javalin 5.1.1
  • org.slf4j:slf4j-simple 2.0.3
  • org.apache.maven.surefire:surefire-junit-platform 3.0.0-M6 test
  • org.junit.jupiter:junit-jupiter 5.8.2 test
  • org.junit.platform:junit-platform-launcher 1.8.2 test
  • org.mockito:mockito-inline 4.6.1 test
data-migration/pom.xml maven
  • com.auth0:java-jwt 3.19.0
  • com.google.code.gson:gson 2.9.0
scrapers/pom.xml maven
  • org.junit:junit-bom 5.8.2 import
  • com.auth0:java-jwt 4.2.0
  • com.google.code.gson:gson 2.9.1
  • org.apache.maven.surefire:surefire-junit-platform 3.0.0-M6 test
  • org.junit.jupiter:junit-jupiter 5.8.2 test
  • org.junit.platform:junit-platform-launcher 1.8.2 test
data-generation/package-lock.json npm
  • @faker-js/faker 7.5.0
  • @hapi/hoek 9.3.0
  • @hapi/topo 5.1.0
  • @sideway/address 4.1.4
  • @sideway/formula 3.0.0
  • @sideway/pinpoint 2.0.0
  • axios 0.25.0
  • buffer-equal-constant-time 1.0.1
  • ecdsa-sig-formatter 1.0.11
  • follow-redirects 1.15.1
  • joi 17.6.0
  • jsonwebtoken 8.5.1
  • jwa 1.4.1
  • jws 3.2.2
  • lodash 4.17.21
  • lodash.includes 4.3.0
  • lodash.isboolean 3.0.3
  • lodash.isinteger 4.0.4
  • lodash.isnumber 3.0.3
  • lodash.isplainobject 4.0.6
  • lodash.isstring 4.0.1
  • lodash.once 4.1.1
  • minimist 1.2.6
  • ms 2.1.3
  • rxjs 7.5.6
  • safe-buffer 5.2.1
  • semver 5.7.1
  • tslib 2.4.0
  • wait-on 6.0.1
data-generation/package.json npm
  • @faker-js/faker 7.5.0
  • jsonwebtoken 8.5.1
  • wait-on 6.0.1
documentation/package.json npm
  • @mr-hope/vuepress-plugin-reading-time ^1.28.3 development
  • @vuepress/plugin-back-to-top ^2.0.0-beta.38 development
  • @vuepress/plugin-docsearch ^2.0.0-beta.38 development
  • @vuepress/plugin-external-link-icon ^2.0.0-beta.38 development
  • @vuepress/plugin-nprogress ^2.0.0-beta.38 development
  • @vuepress/plugin-palette ^2.0.0-beta.38 development
  • @vuepress/plugin-prismjs ^2.0.0-beta.38 development
  • @vuepress/plugin-search ^2.0.0-beta.38 development
  • tailwindcss ^3.0.24 development
  • vuepress ^2.0.0-beta.39 development
  • vuepress-plugin-auto-sidebar ^2.3.2 development
  • vuepress-bar ^0.4.4
  • vuepress-theme-reco ^2.0.0-beta.3
documentation/yarn.lock npm
  • 757 dependencies
e2e/package-lock.json npm
  • 133 dependencies
e2e/package.json npm
  • @playwright/test 1.28.1 development
  • @types/node 18.11.11 development
  • @typescript-eslint/eslint-plugin 5.46.0 development
  • @typescript-eslint/parser 5.46.0 development
  • eslint 8.29.0 development
frontend/package.json npm
  • @svgr/webpack 6.5.1 development
  • @testing-library/jest-dom 5.16.5 development
  • @testing-library/react 13.4.0 development
  • @types/aos 3.0.4 development
  • @types/cookie 0.5.1 development
  • @types/d3 7.4.0 development
  • @types/jest 29.2.2 development
  • @types/jsonwebtoken 8.5.9 development
  • @types/node 18.11.9 development
  • @types/nprogress 0.2.0 development
  • @types/react 18.0.25 development
  • @types/react-dom 18.0.8 development
  • autoprefixer 10.4.13 development
  • eslint 8.26.0 development
  • eslint-config-next ^13.0.0 development
  • jest 29.2.2 development
  • jest-environment-jsdom 29.2.2 development
  • postcss 8.4.18 development
  • tailwindcss 3.2.2 development
  • typescript 4.8.4 development
  • whatwg-fetch 3.6.2 development
  • @dnd-kit/core 6.0.5
  • @dnd-kit/modifiers 6.0.0
  • @dnd-kit/sortable 7.0.1
  • @emotion/react 11.10.5
  • @emotion/server 11.10.0
  • @emotion/styled 11.10.5
  • @mui/icons-material 5.10.9
  • @mui/material 5.10.12
  • @tailwindcss/line-clamp 0.4.2
  • @tailwindcss/typography 0.5.7
  • aos 2.3.4
  • cookie 0.5.0
  • d3 7.6.1
  • jsonwebtoken 8.5.1
  • next 13.0.2
  • nprogress 0.2.0
  • react 18.2.0
  • react-dom 18.2.0
  • react-hook-form 7.39.1
  • react-markdown 8.0.3
  • remark-breaks ^3.0.2
  • remark-gfm 3.0.1
  • sharp 0.31.2
frontend/yarn.lock npm
  • 978 dependencies
scrapers/src/main/resources/requirements.txt pypi
  • PyJWT ==2.3.0
  • Pyzotero ==1.5.2
  • beautifulsoup4 ==4.6.0
  • cffconvert ==1.3.3
  • python-dateutil ==2.6.1
  • requests >=2.21.0