Data Model: Notification
Purpose: The Notification entity represents an internal, on-platform alert shown to a user within their Investor Portal. It is used for immediate, contextual updates about their account or investments.
Fields/Attributes
| Name | Type | Description | Validation Rules |
|---|---|---|---|
id | Unique Identifier | The primary internal system ID for the notification. | • Required • System-generated |
user | Foreign Key | A reference to the User who will receive the notification. | • Required |
status | Choice | The read/unread status of the notification. | • Required • See Notification Status Lifecycle. |
notification_type | Choice | The category sof the notification, used for display purposes. | • Required |
content | Text | A brief, human-readable summary of the alert. | • Required |
context_data | JSON | A JSON payload with detailed information, used by the frontend to render a rich view or link. | • Optional |
created_at | Timestamp | The date and time the notification was generated. | • Read-only |
read_at | Timestamp | The date and time the user marked the notification as read. | • Nullable |
Key Relationships
User: Every
Notificationbelongs to exactly one User (a many-to-one relationship).Triggering Event (Polymorphic): A
Notificationcan be linked to the specific business object that triggered it (e.g., an EVM Transfer, an Investment), providing context.
Auditing & Event History
Every significant action or change made to an Notification is recorded as an immutable entry in a system-wide EventLog. This creates a complete and tamper-proof audit trail for compliance and operational tracking.