Development Guide#

For portal developers who want to build and deploy a new FairDM-powered research portal.

Your Role#

As a portal developer, you will:

  • Build a custom research portal: Create a FairDM-based portal tailored to your research community’s needs

  • Define domain-specific models: Extend the core Sample and Measurement models with your own fields and validation

  • Configure and customize: Set up your portal’s appearance, permissions, and behavior

  • Deploy to production: Launch your portal in the cloud or on your own infrastructure

Prerequisites#

You should have:

  • Working knowledge of Python and general web development concepts

  • Basic familiarity with Django (ideally having completed the official Django tutorials)

  • Basic understanding of Docker for deployment (optional but recommended)

Quick Start#

Important

New to FairDM? Start with the Getting Started guide for a complete walkthrough from running the demo to creating your first custom models.

The Getting Started guide will walk you through:

  1. Running the FairDM demo portal locally

  2. Creating your first custom Sample model (e.g., RockSample)

  3. Creating your first custom Measurement model (e.g., MineralAnalysis)

  4. Registering your models and seeing them in the UI

  5. Verifying programmatic access via the API

Time required: ~30-60 minutes

Feature Specifications#

For implementation details and rationale behind FairDM features, see the feature specifications:

  • Core Projects - Project model and management features

  • FairDM Registry - Model registration system

  • All Specifications - Complete list of feature specs

These specifications provide full context on design decisions, user stories, and acceptance criteria for documented features.

Contents#

Defining models