A project is a workspace inside an instance, implemented as a PostgreSQL schema. It holds everything related to a domain: structures, objects, and data.
| Item | Description |
|---|---|
| Object Structures (OT) | Definitions of object tables and their columns |
| Data Tables (DT) | Definitions of data tables, attached to OTs |
| Objects | Rows created in generated OTs — the actual entities |
| Data | Records in generated DTs, belonging to specific objects |
| Role permissions | Which roles can do what in this project |
| Default permissions | Baseline permissions for all users / all devices |
| Templates | OT/DT templates permitted in this project |
| Project languages | Locale-specific physical columns (optional) |
The project detail page shows:
Project languages create physical translated columns in OT and DT. If column name has languages cs_CZ and en_US, the generated table will have columns name_cs_cz and name_en_us instead.
Important: Configure project languages before generating the first OT/DT. Changing them later is disruptive.
Settings per language: mandatory (at least one required), default, fallback.
Instance and project share the same version number. Migration order: instance first, then project. Some migrations only affect one level.
Authorization for users combines:
ALL_PROJECTS_ACCESS — their instance permissions also countAuthorization for devices combines:
See Permissions for the full model.