dart_desk_server

Serverpod backend server for Dart Desk, a headless CMS with CRDT collaboration, media management, and versioned content.

Prerequisites

  • Dart SDK >= 3.5.0
  • Docker (for PostgreSQL and Redis)

Getting Started

  1. Start the database and cache:
docker compose up --build --detach
  1. Run the server:
dart bin/main.dart
  1. Stop services when finished:
docker compose stop

Configuration

Server configuration is in the config/ directory:

  • development.yaml - local development settings
  • production.yaml - production settings
  • passwords.yaml - secrets (not committed)

Features

  • Document CRUD with versioning and status workflows
  • CRDT-based real-time collaborative editing
  • Media upload with automatic metadata extraction (EXIF, blur hash, palette)
  • Authentication via Serverpod IDP (Google, email/password)
  • API token management for programmatic access

License

Business Source License 1.1 - see LICENSE for details.

Libraries

server