Mwafrika_Josue

Project Tracking System

Feb 2nd, 2024 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. PROJECT TRACKING SYSTEM
  2. =======================
  3.  
  4.  
  5. Tables:
  6. ========
  7. User: (ID, username, email, password, first_name, last_name, role_id)
  8. Project: (ID, name, description, start_date, end_date, agency_id, department_id)
  9. Category: (ID, name, description)
  10. Task: (ID, name, description, due_date, project_id, category_id, assigned_user_id)
  11. Comment: (ID, content, timestamp, user_id, task_id)
  12. Report: (ID, title, content, timestamp, user_id, project_id)
  13.  
  14.  
  15. Relationships:
  16. ===============
  17. One User can have one Role (many-to-one).
  18. One Agency can have many Projects (one-to-many).
  19. One Department can belong to one Agency (many-to-one).
  20. One Project can have many Categories (many-to-many).
  21. One Category can belong to many Projects (many-to-many).
  22. One Project can have many Tasks (one-to-many).
  23. One Task can have one Category (one-to-many).
  24. One Task can be assigned to one User (one-to-many).
  25. One User can create many Comments (one-to-many).
  26. One User can create many Reports (one-to-many).
  27. One Task can have many Comments (one-to-many).
  28. One Project can have many Reports (one-to-many).
  29.  
  30. Unused Tables and Redundancies:
  31. ===============================
  32. The contributors table seems redundant. You can add a user_id column to the task table and directly link users to tasks.
  33. The notifications table could be implemented as a separate system or within the user model depending on its complexity and functionality.
Advertisement
Add Comment
Please, Sign In to add comment