Task Management System
Task Management System
Task Management System
User Management:
Implement user authentication and authorization using Spring
Security.
Define roles such as Admin, Project Manager, and Team
Member.
Admins can manage user roles and permissions.
Project Management:
Users can create projects and assign project managers.
Project managers can add team members to projects.
Define project deadlines and milestones.
Task Management:
Tasks can be categorized into different types (e.g., feature, bug,
enhancement).
Each task has a priority level, due date, and status.
Implement a task assignment system, allowing project
managers to assign tasks to team members.
User Table:
user_id (Primary Key)
username
password (hashed and salted)
email
role_id (Foreign Key Referencing Role Table)
Role Table:
role_id (Primary Key)
role_name (e.g., Admin, Project Manager, Team Member)
Project Table:
project_id (Primary Key)
project_name
project_manager_id (Foreign Key referencing User Table)
deadline
milestones
Task Table:
task_id (Primary Key)
task_name
task_type (e.g., feature, bug, enhancement)
priority (e.g., high, medium, low)
due_date
status
project_id (Foreign Key referencing Project Table)
A User can have one Role, but a Role can be associated with
multiple Users. (One-to-Many relationship between Role and
User)