lowcode-database organizes code and docs by business domain . Runtime architecture: system.md . Out of scope: roadmap.md .
┌──────────── cmd ────────────┐
│ server · migrate │
└──────────────┬──────────────┘
▼
┌──────────── api ──────────────┐
│ routes · admin/* · data/* │
└──────────────┬────────────────┘
▼
┌────────────────── LowcodeService (+ domain JSON types) ──┐
│ schema │ catalog │ data │ platform │ shared.Value │
└───┬────────┬───────┬─────────┬───────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
meta columntype dsl event
shared query
formula
│
▼
infra (postgres · redis · tenant)
platform-services (authn · cache · metrics)
Business modules (internal/service)
Module
Path
Doc
Role
schema
internal/service/schema
schema.md
Table/column meta + physical DDL, virtual columns, Link projection
catalog
internal/service/catalog
catalog.md
Types, Domain, index catalog
data
internal/service/data
data.md
Row CRUD, record/link_ref, calc enqueue
calc
internal/service/calc
record-calc.md
formula/lookup/rollup queue and worker
platform
internal/service/platform
platform.md
Tenants, API Key, Query admin
meta
internal/service/meta
meta-shared.md
Cross-domain metadata read facade
shared
internal/service/shared
meta-shared.md
Base, cells, events, result type
Module
Path
Doc
api
internal/api
api.md
JSON request/response types live in the matching internal/service/<domain> package (see table above).
Not in this version (plugins, graph query, Choice/ENUM, authz): roadmap.md .
Module
Path
Doc
infra
pkg/infra · pkg/tenant · pkg/migrator · pkg/config
infra.md
platform-services
pkg/platform · pkg/logger · pkg/telemetry
platform-services.md
cmd
cmd/server · cmd/migrate
cmd.md
Domain logic lives in internal/service/<module>/, exposed by embedding on LowcodeService.
HTTP only encodes/decodes JSON and routes; it does not write SQL.
Meta / Data dual DB : meta holds lc_* config; data holds physical tables, indexes, rows.
Type resolution : pgType → columnType (see catalog.md ).
Cross-domain reads prefer meta.Read; handlers should not assemble SQL directly.