📁projects
The Project model represents a collaborative workspace where users can create tasks, communicate, and track progress.
📁 Project Model
📄 Attributes:
🆔 id (
Integer): Unique identifier for the project (Primary Key).📝 name (
String): Name of the project.📄 description (
Text): Detailed explanation of what the project is about.🕒 creation_datetime (
DateTime): Timestamp indicating when the project was created.
🔗 Relationships:
👥 users: One-to-many relationship with
ProjectsUser. Links users to the project, along with their roles and labels.✅ tasks: One-to-many relationship with
Task. Tasks created under this project.🏷️ labels: Labels associated with this project (
Labelmodel).🔔 notifications: Notifications related to this project.
🧾 activity_logs: Logs that record actions taken within this project.
💬 personal_chats: Direct conversations linked to this project.
👤🧩 ProjectsUsers Model
The ProjectsUser model is an association table that links users to projects, allowing for role-based access and extra metadata.
📄 Attributes:
🆔 id (
Integer): Unique identifier for the project-user relationship.🔗 project_id (
ForeignKey): Reference to theProjectthe user is linked to.🔗 user_id (
ForeignKey): Reference to theUserinvolved in the project.🛠️ role (
enum type): Defines the user’s role within the project ("admin" , "project_manager" , "member" , "observer").
🔗 Relationships:
📁 project: The project associated with this record.
👤 user: The user associated with this record.
🧩 microtasks_link: One-to-many relationship with
ProjectsUsersMicrotask. Links this association to specific microtasks.
🧠 ProjectsUsersMicrotasks Model
The ProjectsUsersMicrotask model links a specific user-project relationship (ProjectsUser) with individual microtasks, allowing for detailed assignment tracking.
📄 Attributes:
🆔 id (
Integer): Unique identifier for the microtask assignment.🔗 projects_users_id (
ForeignKey): Links to theProjectsUserentry.🔗 microtasks_id (
ForeignKey): Links to the specificMicrotask.
🔗 Relationships:
🧠 microtasks: The microtask being assigned.
👤🧩 projects_users: The user-project relationship that this microtask is assigned to.
Last updated