wip: currently rewriting the project as a full stack application
tangled.org/kacaii.dev/sigo
gleam
1## Entity RelationShip Diagram
2
3```mermaid
4---
5title: SENAC Brigade
6---
7
8erDiagram
9
10 user_account {
11 UUID id PK
12 USER_ROLE_ENUM user_role
13 TEXT full_name
14 TEXT password_hash
15 TEXT registration
16 TEXT phone
17 TEXT email UK
18 BOOLEAN is_active
19 TIMESTAMP created_at
20 TIMESTAMP updated_at
21 }
22
23 notification_preference ||--|{ user_account : preference
24 notification_preference {
25 UUID id PK
26 UUID user_id FK
27 NOTIFICATION_TYPE_ENUM notification_type
28 BOOLEAN enabled
29 TIMESTAMP created_at
30 TIMESTAMP updated_at
31 }
32
33 brigade }o--|{ user_account : leader_of
34 brigade {
35 UUID id PK
36 UUID leader_id FK
37 TEXT name
38 TEXT vehicle_code
39 TEXT description
40 BOOLEAN is_active
41 TIMESTAMP created_at
42 TIMESTAMP updated_at
43 }
44
45 brigade_membership }|--|{ user_account : is_member_of
46 brigade_membership }|--|{ brigade : is_part_of
47 brigade_membership {
48 UUID id PK
49 UUID user_id FK
50 UUID brigade_id FK
51 }
52
53 occurrence }o--|{ user_account : submit
54 occurrence {
55 UUID id PK
56 UUID applicant_id FK
57 OCCURRENCE_CATEGORY_ENUM category
58 OCCURRENCE_SUBCATEGORY_ENUM subcategory
59 TEXT description
60 POINT location
61 TEXT reference_point
62 TIMESTAMP created_at
63 TIMESTAMP updated_at
64 TIMESTAMP resolved_at
65 }
66
67 occurrence_brigade }|--|{ brigade : assigned_to
68 occurrence_brigade }|--|{ occurrence : assigned
69 occurrence_brigade {
70 UUID id PK
71 UUID occurrence_id FK
72 UUID brigade_id FK
73 }
74```