πŸ“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 (Label model).

  • πŸ”” 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 the Project the user is linked to.

  • πŸ”— user_id (ForeignKey): Reference to the User involved 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 the ProjectsUser entry.

  • πŸ”— microtasks_id (ForeignKey): Links to the specific Microtask.

πŸ”— Relationships:

  • 🧠 microtasks: The microtask being assigned.

  • πŸ‘€πŸ§© projects_users: The user-project relationship that this microtask is assigned to.

Last updated