/RSD-as-a-service

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

Primary LanguageTypeScript

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 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 NodeJS installed, preferably v18.

# 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.