Skip to content

de.NBI Service Registry

A structured registration platform for de.NBI and ELIXIR-DE bioinformatics services — from initial submission through review and publication.

Get Started API Reference


What it does

  • Structured registration form

    Sections for service identity, contact, technical details, EDAM annotations, publications, and KPIs. Validated at every step.

  • bio.tools prefill

    Paste a bio.tools URL to pre-populate form fields from the bio.tools database automatically.

  • EDAM ontology integration

    Tag services with EDAM Topic and Operation terms. Ontology is synced automatically from edamontology.org.

  • REST API

    Full CRUD access with token and API-key authentication. Interactive docs at /api/docs/ (Swagger UI) and /api/redoc/ (ReDoc). Machine-readable OpenAPI schema at /api/schema/.

  • Admin portal

    Review, approve, reject, and export submissions. Bulk actions, full audit trail, CSV and JSON export.

  • Scoped API keys

    Each submission gets a scoped key for future programmatic updates — read or read+write scope.

  • Service logo upload

    Attach a PNG, JPEG, or SVG logo to any service registration — via the web form, the edit form, or the REST API. Images are automatically sanitised (EXIF stripped, SVG scripts removed) before storage.


Quick start

git clone https://github.com/denbi/service-registry
cd service-registry
cp .env.example .env      # set SECRET_KEY, DB_PASSWORD, REDIS_PASSWORD
make build                # builds images + starts stack + runs migrations
make superuser

App at http://localhost:8000 — migrations and EDAM seeding run automatically on first start. See Development Setup for the full local guide.

cp .env.example .env      # configure all production values
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
docker compose exec web python manage.py collectstatic --noinput
docker compose exec web python manage.py createsuperuser

Migrations run automatically on container start. See Deployment for the full guide.


Documentation

  • Development Setup

    Local environment, conda setup, Make targets, and the development workflow.

  • Configuration

    All site.toml and .env settings — branding, email, security, rate limits.

  • Deployment

    Production setup: Docker, TLS, nginx, EDAM seeding, backups, updates.

  • User Guide

    How to register a service, use the update form, and manage API keys.

  • Admin Guide

    Reviewing submissions, managing EDAM terms, bio.tools records, and email settings.

  • API Reference

    Endpoints, authentication schemes, filters, and curl examples.

  • Architecture

    System design, data model, Docker services, request lifecycle, and static assets.

  • Testing

    Running the test suite, coverage targets, and adding new tests.

  • Database Schema

    Full field-level reference for all models.

  • Rollout & Releases

    Release process, migrations, rollback, and upgrade runbook.

  • Extending Models

    How to add or change model fields safely.

  • Adding Apps

    Adding a new Django app with API endpoints.


Stack

Layer Technology
Language Python 3.12
Framework Django 6.0
API Django REST Framework + drf-spectacular
Database PostgreSQL
Cache / Broker Redis
Task Queue Celery + Celery Beat
Static Files WhiteNoise
Frontend Bootstrap 5 + HTMX + Tom Select
Container Docker + Docker Compose
Reverse Proxy Nginx (host-managed)