📁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