Skip to content

Development Guide

This section provides everything you need to understand, run, customize, and contribute to the OnDemand Loop application. Whether you're fixing a bug, extending functionality, or integrating with a new repository, this guide is your entry point.

Quick Start

Clone the repository and start the local environment using the built-in Makefile targets:

make loop_build
make loop_up

The make loop_up command starts the development environment using Docker Compose. It runs in the foreground, streaming logs from all containers to your terminal. The shell prompt will not return until you stop the environment manually.

To stop the environment, press Ctrl+C. This will gracefully shut down all containers. Alternatively, in another terminal you can run: make loop_down

Once the containers are running visit https://localhost:33000/pun/sys/loop and log in with the test user ood/ood.

The documentation is organized by topic to help you find what you need quickly:

  • Architecture and Code
    Overview of the system design, key components, and how the codebase is organized.

  • Connectors
    Details on how OnDemand Loop interacts with external repositories like Dataverse, Figshare, or Zenodo.

  • Local Environment
    How to set up and run OnDemand Loop locally for development.

  • Docker Images
    Information on the Docker-based setup and available images.

  • Open OnDemand
    Deployment, compatibility, and upgrade guidance for running OnDemand Loop within the Open OnDemand environment.

  • Dataverse Integration
    Specifics on how integration with Dataverse is implemented.

  • Contributing a Change
    Best practices and workflow for contributing code or documentation.

  • GitHub Actions
    How CI is handled using GitHub Actions, including testing and deployment workflows.

Each page is self-contained but builds on shared understanding of the architecture and workflows.
If you're new to the project, we recommend starting with: