Skip to content

feat: add scientific data and code hosting module#31

Open
grantf04 wants to merge 1 commit into
SCIBASE-AI:mainfrom
grantf04:scientific-data-code-hosting
Open

feat: add scientific data and code hosting module#31
grantf04 wants to merge 1 commit into
SCIBASE-AI:mainfrom
grantf04:scientific-data-code-hosting

Conversation

@grantf04
Copy link
Copy Markdown

@grantf04 grantf04 commented May 9, 2026

@algora-pbc /claim #14

Closes #14

What this adds

Adds a self-contained scientific-data-code-hosting/ module for structured artifact storage, metadata-aware previews, upload versioning/diffing, JSON-LD/DataCite/schema.org metadata, FAIR compliance, tags, executable environments, sandboxed runs, compute triggers, JSON APIs, tests, and a reviewer dashboard.

Requirement mapping

  • Scalable storage engine → implemented by buildStorageManifest, covering datasets, metadata, code, notebooks, figures, models, and raw output organization.
  • Drag/drop/folder organization and previews → represented through folder manifests and metadata-aware previews for CSV tables, notebooks, code, figures, and binary/model artifacts.
  • Upload versioning and dataset diffing → implemented by versions and diffDatasetVersions.
  • Structured metadata and standards → implemented by buildMetadataBundle with JSON-LD/schema.org and DataCite DOI metadata.
  • FAIR compliance → implemented with findable, accessible, interoperable, and reusable flags.
  • Scientific tags → implemented across artifact tags and metadata tags.
  • Executable environments → represented by Docker/Kubernetes Python, R, and Julia environment definitions.
  • Sandboxed execution and compute triggers → implemented by runExecutableEnvironment and dashboard trigger metadata for manual and cron runs.
  • Reviewer dashboard and API smoke tests → implemented in src/server.js plus public/ static UI.
  • Tests → implemented in test/hosting-core.test.js.

How to verify in under 5 minutes

cd scientific-data-code-hosting
npm test
npm start

Open http://localhost:4133 and verify the dashboard shows artifact previews, FAIR metadata, dataset version diff, and sandbox execution.

Optional API smoke checks:

curl -s http://localhost:4133/api/dashboard
curl -s http://localhost:4133/api/storage/manifest
curl -s "http://localhost:4133/api/execute?environment=env-python"

Validation

Commands run:

  • npm test - 4 tests passing
  • curl -s http://localhost:4133/api/dashboard - returns 6 artifacts, FAIR findable true, and execution status passed
  • curl -s "http://localhost:4133/api/execute?environment=env-python" - returns passed, network disabled, and reproducibility score 96
  • curl -i -s http://localhost:4133/package.json - returns 404 without crashing the server
  • Browser demo verified at http://127.0.0.1:4133/: storage engine, metadata/FAIR, versioning, and executable environment panels render with 0 console errors
  • ffprobe verified the committed demo video is 1280x760 and 8 seconds long

Demo

Scope

This PR is intentionally self-contained under scientific-data-code-hosting/ and avoids unrelated root-level changes except adding the module link to the root README.

@grantf04
Copy link
Copy Markdown
Author

grantf04 commented May 9, 2026

@algora-pbc /claim #14

@grantf04
Copy link
Copy Markdown
Author

grantf04 commented May 9, 2026

/claim #14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scientific/Engineering Data & Code Hosting

1 participant