Project Manager:
FRQ: The user (Project Manager) should be able to create a new team and add members that belong to the organization. They can also give each user labels depending on their specialty (e.g. backend, frontend, devops, planner, etc.)
FRQ: the Project Manager should be able to see all the teams that he has created in a welcome page
FRQ: The user (Project Manager) should be able to create new tasks for the team and add a description, divide the task into smaller micro-tasks and upload files if needed
FRQ: The user (Project Manager) should be able to add comments or see the team’s comments
FRQ: The Project Manager should be able to define tasks for the team
FRQ: The project manager should be able to divide the tasks into micro-tasks and either assign them manually to each user, let them be assigned automatically by their labels or let each user select their mini-task to do.
FRQ: The project manager should be able to assign a due date for each task and micro-task
FRQ: The project manager should get a dashboard where they can check progress, see how many tasks are left to do, how many are being worked on, which users are free, which tasks are up for review, etc.
FRQ: The PM should verify completion of each task before marking them as completed
FRQ: The PM should be able to access and filtrate an activity log for their projects to lookup each member’s actions
Project Member:
FRQ: The Member should be able to see the team projects that they have been
assigned to
FRQ:The member should be able to see which micro-task was assigned to them, or
select a micro-task if they’re free to choose
FRQ: The member should be able to download files if any were uploaded to the task
FRQ: The member should be able to add comments to the task or the micro-task,
depending on their needs. Said comments can contain files and links
FRQ: The member should be able to select/update an approximate amount of progress in their micro-task, which other members and the PM will be able to see to keep track of each micro-task’s progress.
FRQ: The member should be able to see and update the state of the micro-task (Undone, working on it, up for review)
FRQ: The member should be able to see a dashboard with their pending micro-tasks, which teams they belong to, their overall progress, etc.
FRQ: The member should be able to see and use a Pomodoro style timer to help them keep track of time and optimize workflow.
FRQ: The member should receive alerts to their email whenever the due date for a micro-task is coming up
FRQ: The member should be able to start a real-time chat with any of the members of their team
FRQ: The member should be able to leave comments when submitting a task that specify any things left to do, any problems still present or information that might be useful
FRQ: The member should be able to access to his history of the movements he have made
Admin:
FRQ: The admin should be able to access the activity log of the entire system and
filter by either user, project or time
FRQ: The admin should be able to assign roles to each user, either PM,
member or observer
Non User specific
FRQ: The system should validate user’s credentials and device signature to prevent external users or devices from accessing
FRQ: The system should validate the user’s role, redirecting them to different screens depending on if they’re admin, PM, member, or observer
FRQ: The system should have a built-in integrated ‘pomodoro’ function to help users to manage their own taks, this won’t be traced down or saved as this is personal for each user
FRQ: The system should log every action that users do, like uploading files, changing the status of a task, being added / removed from a project, etc. storing the time the change was made, which user made it, and which project it relates to.
FRQ: The system should verify that the files uploaded by PMs or members do not contain potentially harmful extensions like .bat
FRQ: The system should not allow observers to make any changes to the teams or tasks
FRQ: The system should have a session time limit of 30 mins and kick users out if they exceed this time
FRQ:The system should implement tests for each module, including database connections and backend