| | 1 | = Entity-Relationship Model v01 = |
| | 2 | |
| | 3 | == Diagram == |
| | 4 | [[Image(ERModel_v01.png, width=100%)]] |
| | 5 | |
| | 6 | == Data Requirements == |
| | 7 | |
| | 8 | === Users === |
| | 9 | Represents all system users who may act as project owners or workers. |
| | 10 | |
| | 11 | ''Candidate keys:'' |
| | 12 | * user_id (primary key) |
| | 13 | |
| | 14 | ''Attributes:'' |
| | 15 | * user_id – numeric, required |
| | 16 | * email – text, required, unique |
| | 17 | * password – text, required |
| | 18 | * role – text, required |
| | 19 | * createdAt – date/time, required |
| | 20 | |
| | 21 | === Projects === |
| | 22 | Represents projects owned by users. |
| | 23 | |
| | 24 | ''Candidate keys:'' |
| | 25 | * project_id (primary key) |
| | 26 | |
| | 27 | ''Attributes:'' |
| | 28 | * project_id – numeric |
| | 29 | * client_id – numeric |
| | 30 | * name – text |
| | 31 | * status – text |
| | 32 | * startDate – date |
| | 33 | * endDate – date |
| | 34 | |
| | 35 | === Relationships === |
| | 36 | * User owns Project (1:N) |
| | 37 | * Project includes Task (1:N) |
| | 38 | * Task has File (1:N) |
| | 39 | * Task has Comment (1:N) |
| | 40 | * TimesheetProject contains TimesheetEntry (1:N) |
| | 41 | |
| | 42 | == Entity-Relationship Model History == |
| | 43 | * v01 – Initial ER model created based on project requirements. |