Entity-Relationship Diagram
Complete Appwrite database schema — 60+ collections across 10 domains with all relationships, keys, and attributes
60+
Collections
10
Domains
3
Storage Buckets
200+
Attributes
PKPrimary Key
FKForeign Key
IDXIndexed
1:NHas Many
N:1Belongs To
1:1Has One
Core PM — 7 Collections
WORKSPACES
Top-level containers
PK$idstring
·namestring
IDXuserIdstring
·imageUrlstring?
·inviteCodestring
FKorganizationIdstring?
1:N → MEMBERS1:N → PROJECTS1:N → SPACESN:1 → ORGANIZATIONS
MEMBERS
Workspace membership
PK$idstring
FKworkspaceIdstring
FKuserIdstring
IDXroleenum
·statusstring
N:1 → WORKSPACESN:1 → Users (Appwrite)
PROJECTS
Projects within workspaces
PK$idstring
FKworkspaceIdstring
FKspaceIdstring?
·namestring
·imageUrlstring?
FKworkflowIdstring?
N:1 → WORKSPACESN:1 → SPACES1:N → TASKS1:N → SPRINTS1:1 → WORKFLOWS
TASKS
Work items in projects
PK$idstring
FKworkspaceIdstring
FKprojectIdstring
·namestring
IDXstatusenum
IDXassigneeIdstring?
·priorityenum?
·dueDatedatetime?
N:1 → PROJECTSN:1 → SPRINTS1:N → COMMENTS1:N → ATTACHMENTS1:N → TIME_LOGS
COMMENTS
Task comments
PK$idstring
FKtaskIdstring
FKuserIdstring
·contentstring
FKparentIdstring?
N:1 → TASKS1:N → COMMENTS (replies)
ATTACHMENTS
File attachment metadata
PK$idstring
FKtaskIdstring
·fileIdstring
·namestring
·sizenumber
·mimeTypestring
N:1 → TASKS1:1 → ATTACHMENTS_BUCKET
TIME_LOGS
Time tracking entries
PK$idstring
FKtaskIdstring
FKmemberIdstring
·durationnumber
·datedatetime
N:1 → TASKSN:1 → MEMBERS