LCMD db logoLCMD[db]

Project architecture

Overview of the LCMD db project structure and dependencies

Development infrastructure

LCMD db combines a Django API, a Vite/TanStack Router web app, and a Next.js/Fumadocs documentation site.

Development Infrastructure

The development setup includes:

  • Django backend with PostgreSQL
  • Vite + TanStack Router web app
  • Next.js/Fumadocs documentation site
  • SeaweedFS for S3-compatible object storage

Project structure

Turborepo + pnpm workspaces + uv workspaces. Everything shippable lives under apps/ or packages/.

docker-compose.yamllocal infra (PostgreSQL, SeaweedFS)
justfilecommand shortcuts
pyproject.toml / package.jsonworkspace roots

Dependencies

Backend core dependencies

Web app core dependencies

Docs core dependencies

Development environment

Package management

Frontend package installation:

# Global dependency
just pnpm add react-hook-form -w

# Web app dependency
just pnpm --filter webapp add react-hook-form

Backend package installation:

just uv add djangorestframework

SeaweedFS storage

SeaweedFS — a single weed mini container — provides the S3-compatible object store for local development.

Storage configuration

  • S3 API endpoint: http://localhost:8333
  • Health check: GET http://localhost:8333/healthz
  • No web console — browse the store with the AWS CLI or any S3 client
AWS_ACCESS_KEY_ID=seaweed AWS_SECRET_ACCESS_KEY=seaweed123 \
  aws --endpoint-url http://localhost:8333 s3 ls

Buckets

Created by manage.py initialize_buckets (runs as part of just reset_db):

  • local-media: general media storage (default Django storage)
  • compounds: structure files attached to molecules

Files are streamed through the Django API — the storage endpoint is not exposed publicly.

Default credentials

Development only

These credentials are for development only. Change them in production.

Access key: seaweed
Secret key: seaweed123

On this page