Entity relationships
Tables
users
projects
Relationships:
hasMany(Issue), hasMany(SavedFilter).
issues
Relationships:
belongsTo(User, 'user_id') as creator, belongsTo(User, 'assignee_id') as assignee, belongsTo(Project), hasMany(Comment).
A database-level trigger enforces
end_date >= start_date whenever both are set — this constraint exists in the schema itself, not just in request validation, so it holds even for data written outside the app (seeders, Tinker, and so on).comments
notifications
activity_logs
saved_filters
Enums
Defined underapp/Enums/:
UserRole—admin,memberIssueStatus—open,in_progress,closedIssueLabel—bug,feature,performance,design,ux,chore
