Skip to content

deNBI/service-registry

Repository files navigation

de.NBI Service Registry

Registration system for de.NBI & ELIXIR-DE services — structured form, REST API, EDAM annotations, bio.tools integration, and admin review portal.

Quick start

cp .env.example .env          # set SECRET_KEY, DB_PASSWORD, REDIS_PASSWORD
docker compose up -d
docker compose exec web python manage.py migrate
docker compose exec web python manage.py createsuperuser
docker compose exec web python manage.py sync_edam
# → http://localhost:8000

Key commands

make test          # run test suite (coverage ≥ 80% required)
make lint          # ruff lint + format check
make lint-fix      # auto-fix lint issues
make docs          # serve MkDocs at http://127.0.0.1:8001
make migrate       # run migrations in web container
make sync-edam     # refresh EDAM ontology

Production

docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d

Host nginx (nginx/host/service-registry.bi.denbi.de.conf) terminates TLS and proxies to Gunicorn. PostgreSQL and Redis run externally — not in Docker.

Documentation

Full docs at make docs or in docs/:

Development setup Local env, make targets, project layout
Configuration site.toml and .env reference
Deployment Production setup, TLS, backups
Architecture System design, data flow, security
User guide Registration form, API keys
Admin guide Review, approve, export
API reference REST endpoints, auth, examples
Testing Test suite, coverage, writing tests
Rollout Releases, CI, rollback runbook

Interactive API docs: /api/docs/ (Swagger UI) · /api/redoc/ (ReDoc)

Stack

Python 3.12 · Django 6 · DRF · PostgreSQL · Redis · Celery · Bootstrap 5 · HTMX · Docker

License

MIT

About

Web applicatoin of the de.NBI service registry

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors