Project
Project
As a user I want to create project to manage my Tasks in it separately.
- Creation
- Any user can create project and set its components:
- title
- description
- priority
- DOD
- start & end Dates
- members.
- View
Any member inside the project can view it.
- Created by him (creator can view list of projects from side minuet), And he can view project components by pressing on it.
- Have tasks in it (assignee or creator or Cc). They can filter by project from tasks page.
- Actions
- Creator can change project state from open to hold, complete or close his project manually after it had been opened.
- Creator can edit project components (title - description - priority - DOD - member (add or remove) - end date ).
– Creator can only extend end date not minimize it –
- Creator can delete Project if it's had no tasks inside it.
- – overdue (count 1 after every 24 hour of end date) –
- Notes
- Any member in project can create task to any one of project members (creator is one of project members)
- If you create task to member outside the project, He will be added automatically to members of this project.
- No relation with project state and project tasks.
- tasks will go throw the normal approval Sycle, and it can be forwarded or reassigned to any one
- If you Forword or reassigned task to member outside the project, He will be added automatically to members of project.
- End date of tasks inside project should be less than or equal to project end date
Create Project 
Create Project
As a logged in user, I want to create project, so that I can create tasks related to this project
we can create projects from side menu by clicking on add project.
Field of create project is:
any project will have a status (after creation will be open - and user can change it manually to hold - completed - closed)
- As a normal filed on create tasks {
- title
- description
- priority
- DOD
- start & end Dates
- members (when we assignee tasks and add assignee on this task, it will be added by default to project members)
View project 
View project
Description
Top of Form
As a logged in user I want to view projects, so that I can see my projects
Any user can view his projects
· created by him
· have tasks in this project (assignee or creator or Cc)
· user can filter tasks by selecting types project and select name of the project, filter by project will be multi
· the project appears in the user projects list if user members or has a task with status (new, in progress, completed)
· – if the project passed the end date, view parameters on the project overdue
Create task from project tasks Screen
Create task from project tasks Screen
Top of Form
As a project member I want to create task on selected project, so that this can save my time.
Acceptance Criteria:
1. Any project members can create task from project tasks screen.
2. the created task will be a main task on this project.
3. when create task on project task screen make select project on create task screen not clickable to prevent user select anther project.
Update project
Update Project
As a creator of the project, I want to update fields & status on it, so that I can enhance the information in the project
- user can update project status [ manually without validation on task status inside the project]
- status [ open - hold - completed - closed]
Fields of updating
- Title
- description
- DOD
- add or remove member
- extend end date of the project
- priority
- creator of project can delete any member, but if this member has tasks they won’t be deleted and will appear on all tasks to this user.
user can extend the end date of project only or he can update it by any date greater than the start date & end date
Delete Project
Delete Project
Top of Form
As a creator of any projects, I want to delete my project, so that I can delete them from my list.
user can delete any project incise of this project is not content of tasks, in case he tries to delete project content tasks validation messages appear to tell user “You can’t delete this project because it content tasks related “
creator of the project can't delete project if this project contains tasks Regardless of task status.