Skip to content

Use Cases

Monica Bui edited this page Apr 9, 2018 · 74 revisions

Table of Contents

Task Basics

UC 01.01.01: Add Tasks

Item Description
Name Add Tasks
Actors Task Requester
Goal Add a task to the current list of tasks.
Trigger Requester clicks on the create task button on the main menu screen.
Precondition Requester wishes to add a new task.
Postcondition The new task has been added.
Basic Flow
  1. Requester clicks on the create new task button.
  2. System brings them to a page where requester can input the title of their task, description, and have a default status of task: requested.
  3. Requester enters title of the task.
  4. Requester enters description of task.
  5. Requester clicks the save button.
  6. System brings back requester to main screen.
Exceptions
  • If the user inputs more than 30 characters for title: See UC 01.01.02
  • If the user inputs more than 300 characters for the description: See UC 01.01.03
  • If there are any missing fields, system prompts user to type them in based on which field was not entered
  • Related User Stories US 01.01.01
    As a task requester, I want to add a task to my tasks, each denoted with a title, brief description, and initial status: requested.

    US 01.01.02
    As a task requester, I want the maximum length of the task title to be at least 30 characters.

    US 01.01.03
    As a task requester, I want the maximum length of the task description to be at least 300 characters.

    US 08.01.01
    As a task requester, I want to add or edit tasks while off the network, and have these changes synchronized once I regain connectivity.

    US 09.01.01
    As a task requester, I want to optionally attach one or more photographs as further viewable details to a task of mine.

    UC 01.01.02: Set Task Name Length

    Item Description
    Name Set Task Name Length
    Actors Task Requester
    Goal To check the length of a title and make sure it's less than or equal to 30 characters.
    Trigger Task requester saves their new task with a name
    Precondition Name length is unvalidated
    Postcondition Name length is validated
    Basic Flow
    1. Requester clicks on the create task button in the main menu.
    2. System brings them to a page where requester can input the name of their task, description, and have task status: requested.
    3. Requester enters name of the task.
    4. Requester enters other mandatory field data.
    5. Requester saves the task
    6. The system validates the name length, one of two things happen:
    7. Option 1:
      the name provided is less than or equal to 30 characters
      the task is saved
    8. Option 2:
      the name is longer than 30 characters
      the systems displays an error message
    Exceptions If no name is entered, an error message appears
    If the name is longer than 30 characters, an error message appears
    The error message must continue to appear each time the save button is pushed so long as the name field does not meet the requirements
    The error message must be able to recognize when more than 1 field has an error
    The error message will help the user properly fill out the task information
    Related User Stories US 01.01.02
    As a task requester, I want the maximum length of the task title to be at least 30 characters.

    US 01.01.01
    As a task requester, I want to add a task to my tasks, each denoted with a title, brief description, and initial status: requested.

    US 01.03.01
    As a task requester, I want to edit the details for any one of my tasks.

    UC 01.01.03: Set Task Comment Length

    Item Description
    Name Set Task Comment Length
    Actors Task Requester
    Goal To check the length of a comment and make sure it's less than or equal to 300 characters.
    Trigger Task requester saves a task with a comment
    Precondition Comment length is unvalidated
    Postcondition Comment length is validated
    Basic Flow
    1. Requester clicks on the create task button in the main menu screen.
    2. System brings them to a page where requester can input the name of their task, description, and have task status: "requested".
    3. Requester enters comment of the task.
    4. Requester enters other mandatory field data.
    5. Requester saves the task
    6. The system validates the comment length, one of two things happen:
    7. Option 1:
      the comment provided is less than or equal to 300 characters
      the task is saved
    8. Option 2:
      the comment is longer than 300 characters
      the systems displays an error message
    Exceptions If no comment is entered, an error message appears
    If the comment is longer than 300 characters, an error message appears
    The error message must continue to appear each time the save button is pushed so long as the comment field does not meet the requirements
    The error message must be able to recognize when more than 1 field has an error
    The error message will help the user properly fill out the task information
    Related User Stories US 01.01.03
    As a task requester, I want the maximum length of the task description to be at least 300 characters.

    US 01.03.01
    As a task requester, I want to edit the details for any one of my tasks.

    US 01.01.01
    As a task requester, I want to add a task to my tasks, each denoted with a title, brief description, and initial status: requested.

    UC 01.02.01: View Tasks

    Item Description
    Name View Tasks
    Actors Task Requester
    Goal View a list of tasks.
    Trigger Requester clicks the task dashboard button on the main menu.
    Precondition Requester wishes to view their list of requested tasks.
    Postcondition Requester is brought to screen where they can see all their tasks.
    Basic Flow
    1. Requester clicks the task dashboard button.
    2. System brings them to screen where they can see list of their tasks on the "My Tasks" tab.
    3. Requester can see the task title.
    4. Requester can see the status of the task.
    Exceptions If there are no requested tasks, the screen would be blank.
    Related User Stories US 01.02.01
    As a task requester, I want to view a list of my tasks, with their titles and statuses.

    UC 01.03.01: Edit Tasks

    Item Description
    Name Edit Tasks
    Actors Task Requester
    Goal Requester edits details of their task.
    Trigger User clicks on the edit button in their task details screen.
    Precondition Requester wishes to edit their existing task.
    Postcondition The screen of all their tasks has been revised to show the changes and the database has been changed also to reflect this.
    Basic Flow
    1. Requester clicks on the edit button.
    2. System brings them to a page where requester can change the name of their task, description.
    3. Requester changes name of the task.
    4. Requester changes description of task.
    5. Requester clicks the save button.
    6. System reflects changes to the database and the view tasks screen showing these changes.
    Exceptions
  • If task status is not "requested", system notifies user that they are unable to edit their task
  • Related User Stories US 01.03.01
    As a task requester, I want to edit the details for any one of my tasks.

    US 08.01.01
    As a task requester, I want to add or edit tasks while off the network, and have these changes synchronized once I regain connectivity.

    US 09.01.01
    As a task requester, I want to optionally attach one or more photographs as further viewable details to a task of mine.

    UC 01.04.01: Delete Tasks

    Item Description
    Name Delete Tasks
    Actors Task requestor
    Goal Task requester can delete a task they have posted.
    Trigger When viewing a task details, pressing the delete button.
    Precondition Task requester wants to delete a task.
    Postcondition The selected task is deleted.
    Basic Flow
    1. Requester opens a task to be viewed in the dashboard.
    2. Requester presses delete button.
    3. Upon clicking it the selected task is deleted.
    4. The requester is brought back to their dashboard.
    Exceptions N/A
    Related User Stories US 01.04.01
    As a task requester, I want to delete a task of mine.

    Task Details

    UC 02.01.01: View Task Details

    Item Description
    Name View Task Details
    Actors Task requester and provider
    Goal Task requesters and providers can view the details of a task.
    Trigger When a task is pressed from the overall list of tasks either in the "Your Posts" or "To Solve" tabs, it opens in a new screen with the task details.
    Precondition Requester or provider wants to see the details of a task.
    Postcondition The selected task details are presented in a new screen.
    Basic Flow
    1. A user selects a task from either the "Your Posts" or "To Solve" tabs in the Dashboard screen.
    2. The tasks details are opened in a new screen. These details include:
      1. title
      2. description
      3. status
      4. lowest bid (if any)
      5. And other possible options like updating bid, contact info of the other user etc. depending if it was a provider or requester task
    Exceptions N/A -- A user can not select a task that are not associated with themselves.
    Related User Stories US 02.01.01
    As a task requester or provider, I want to view all the details for a given task, including its title, description, status, and lowest bid so far (if any).

    US 02.02.01
    As a task requester or provider, I want a task to have a status to be one of: requested, bidded, assigned, or done.

    UC 02.02.01: Display Task Status

    Item Description
    Name Display Task Status
    Actors Task requester and provider
    Goal Task requesters and providers can view the status of a task.
    Trigger When either the dashboard,search, or task details screen, task(s) will be displayed with their status
    Precondition Requester or provider wants to see the status of a task.
    Postcondition User can see the status of tasks.
    Basic Flow
    1. From the dashboard or search screen, the user can shift their focus to the “status” display field found there.
    2. If a task has been clicked on to view its details, they can see the status of their task they have put out or have been associated with through another user's task.
    Exceptions N/A
    Related User Stories US 02.02.01
    As a task requester or provider, I want a task to have a status to be one of: requested, bidded, assigned, or done.

    US 02.01.01
    As a task requester or provider, I want to view all the details for a given task, including its title, description, status, and lowest bid so far (if any).

    User Profile

    UC 03.01.01: Create Profile

    Item Description
    Name Create Profile
    Actors User
    Goal Users can create a profile with unique username and contact information.
    Trigger The user clicks on the "Don't have an account" button in the login screen and fills out the details.
    Precondition The user's information and profile are not in the system.
    Postcondition The user's information and profile are in the system.
    Basic Flow
    1. The user clicks on the "Don't have an account" button in the login screen.
    2. He/she fills out their contact information.
    3. He/she clicks on the Sign Up button.
    Exceptions User inputs less than 8 characters for their username. System them prompts user to change their username to be 8 or more characters long
  • If the user is missing either one,some, or all of the username, email, or phone number field, the system will prompt them to enter them.
  • If the user has an incorrect email format, the system would try to validate it and fail, then prompt user to enter them correctly.
  • Related User Stories US 03.01.01
    As a user, I want a profile with a unique username and my contact information.

    US 03.01.02
    As a user, I want the maximum length of a username to be at least 8 characters.

    US 03.01.03
    As a user, I want the contact information to include an email address and a phone number.

    UC 03.02.01: Edit Contact Information

    Item Description
    Name Edit Contact Information
    Actors User
    Goal Users can edit the contact information in their profiles.
    Trigger The user clicks on the person profile head icon in the main screen, and edits their details.
    Precondition The user's information and profile are not edited.
    Postcondition The user's information and profile are edited.
    Basic Flow
    1. The user clicks on the person profile head icon in the main screen button.
    2. He/she edits the details that includes the phone number and email.
    3. He/she clicks on the update profile button.
    Exceptions
  • If the user is missing either one,all of the email, or phone number fields, the system will prompt them to enter them.
  • If the user has an incorrect email format, the system would try to validate it and fail, then prompt user to enter them correctly.
  • Related User Stories US 03.02.01
    As a user, I want to edit the contact information in my profile.

    US 03.01.03
    As a user, I want the contact information to include an email address and a phone number.

    UC 03.03.01: Retrieve Contact Information

    Item Description
    Name Retrieve Contact Information
    Actors User
    Goal Whenever a username is shown, users can retrieve and see its corresponding contact information.
    Trigger The user clicks on task details screen.
    Precondition The username's information is not shown.
    Postcondition The username's information is shown.
    Basic Flow
    1. The user clicks on the task details screen for any task that they have not created themselves.
    2. The requester/provider's username with their contact info will be shown along with the task details itself.
    Exceptions If a user clicks on their own created task whose status is "requested", no other contact info would be shown.
    Related User Stories US 03.03.01
    As a user, I want to, whenever a username is shown, be able to retrieve and see its corresponding contact information.

    Searching

    UC 04.01.01: Search for Tasks

    Item Description
    Name Search for Tasks
    Actors Task provider
    Goal Task providers can view all tasks whose description contains the specified keywords.
    Trigger The task provider types a set of keywords in the search bar and clicks on the search button.
    Precondition The task provider wants to view tasks whose description contains specified keywords.
    Postcondition All tasks whose description contains the specified keywords are presented in a listview, each with status: requested or bidded.
    Basic Flow
    1. The task provider enters a set of keywords in the SEARCH bar in the Solve task screen.
    2. He/she clicks on the SEARCH button.
    3. A list of the tasks with the specified keywords will be displayed on the screen, with each task’s status: requested or bid.
    Exceptions N/A
    Related User Stories US 4.01.01
    As a task provider, I want to specify a set of keywords, and search for all tasks, with status: requested or bid, whose description contains all the keywords.

    UC 04.02.01: Show Task Details

    Item Description
    Name Show Task Details
    Actors Task provider
    Goal Task providers can view all tasks whose description contains the specified keywords, each task with its task requester username, title, status, lowest bid so far (if any).
    Trigger The task provider types a set of keywords and clicks on the SEARCH button, then clicks on a task shown in the search results.
    Precondition The task provider wants search results to show each task with its task requester username, title, status, lowest bid so far (if any).
    Postcondition All tasks whose description contains the specified keywords are presented in a listview, each with its task requester username, title, status, lowest bid so far (if any).
    Basic Flow
    1. The task provider enters a set of keywords in the SEARCH bar.
    2. He/she clicks on the SEARCH button.
    3. A list of the tasks with the specified keywords will be displayed on the screen, each task with its:
      1. Task requester username
      2. Title
      3. Status
      4. Lowest bid so far (if any)
    Exceptions N/A
    Related User Stories US 4.02.01
    As a task provider, I want search results to show each task with its task requester username, title, status, lowest bid so far (if any).

    Task Bidding

    UC 05.01.01: Bid on Tasks

    Item Description
    Name Bid on Tasks
    Actors Task provider
    Goal Task providers can make a bid on a given task with status: requested or bid, using a monetary amount.
    Trigger The task provider types a monetary amount on the input box and clicks on the BID button.
    Precondition The task provider wants to make a bid on a given task with status: requested or bid, using a monetary amount.
    Postcondition The task provider has made a bid on a given task now with status: bid, using a monetary amount.
    Basic Flow
    1. The task provider clicks on the task on the screen.
    2. He/she enters a monetary amount on the input box.
    3. He/she clicks on the BID button.
    4. The status of the task changes to “bid”.
    Exceptions The task provider cannot bid on a task if it is requested by him/her.
    Related User Stories US 5.01.01
    As a task provider, I want to make a bid on a given task with status: requested or bid, using a monetary amount.

    UC 05.02.01: Provider View Tasks

    Item Description
    Name Provider View Tasks
    Actors Task provider
    Goal Task provider can view a list of tasks that this provider have bidded on,each with its task requester username, title, status, lowest bid so far, and his bid.
    Trigger Task provider clicks the view tasks button and then clicks the "TO SOLVE" tab.
    Precondition The task provider wants to view the list of tasks that he/she have bidded on.
    Postcondition Task provider sees the list of the tasks with its task requester username, title, status, lowest bid so far, and his bid.
    Basic Flow
    1. The task provider clicks on the my tasks tab.
    2. The task provider clicks on "TO SOLVE" tab.
    3. It shows the list of tasks with status, requested or bidded with detail.
      1. Bidded on tasks:
        1. Task requester username
        2. Title
        3. Status
        4. Lowest bit so far (if any)
      2. My bid
    Exceptions The provider haven't placed any bids on any tasks.
    Related User Stories US 05.02.01
    As a task provider, I want to view a list of tasks that I have bidded on, each with its task requester username, title, status, lowest bid so far, and my bid.

    UC 05.03.01: Notify of Bid

    Item Description
    Name Notify of Bid
    Actors Task requester
    Goal Notify the task requester when there is a new bid on the request.
    Trigger A task provider bids on a task.
    Precondition
    1. The task is posted by the task requester.
    2. he task provider bids on the task.
    Postcondition A notification is sent to the task requester.
    Basic Flow
    1. Task provider bids on the task.
    2. The notification is sent to the task requester.
    Exceptions N/A
    Related User Stories US 05.03.01
    As a task requester, I want to be notified of a bid on my tasks.

    UC 05.04.01: Requester View Tasks

    Item Description
    Name Requester View Tasks
    Actors Task requester
    Goal Task requester can view a list of tasks with the bidding status of each task.
    Trigger Task requester clicks the view tasks button.
    Precondition The task requester wants to view the list of tasks with status.
    Postcondition Task requester sees the list of the tasks with status.
    Basic Flow
    1. The task requester clicks on the my tasks tab.
    2. It shows the list of tasks with bidding status, with one or more bids on each task.
    Exceptions The task requester does not have any bids on the task.
    Related User Stories US 05.04.01
    As a task requester, I want to view a list of my tasks with status bidded, each having one or more bids.

    UC 05.05.01: Show Bid for Posted Task

    Item Description
    Name Show Bid for Posted Task
    Actors Task requester
    Goal Task requesters can see the bids made on a posted task.
    Trigger The requester navigates to the personal task page using button or notification.
    Precondition The requester wants to see the bids made on their post.
    Postcondition The requester has a viewable list of bids made on their post.
    Basic Flow
    1. The requester heads into their personal task activity.
    2. They navigate into their posted tasks page/tab.
    3. The list of tasks pops up and on click, a task detail activity revealing the task details and bids shows up.
    Exceptions
    1. There is no task.
    2. There are no bids.
    Related User Stories US 05.05.01
    As a task requester, I want to view the bids on one of my tasks.

    UC 05.06.01: Accept Bid for Posted Task

    Item Description
    Name Accept Bid for Posted Task
    Actors Task requester
    Goal Task requesters can accept a bid on a posted task.
    Trigger The requester presses on a bid to accept it.
    Precondition The requester wants to accept a bid on their task details page.
    Postcondition The requester accepts a bid, in turn changing the state of the task to "assigned" and the status of this bid to "accepted" and declining all other bids and setting the status of these bids to "declined",which prevents other providers place more bids or update bids.
    Basic Flow
    1. The requester clicks on a bid they want to accept on the task details page.
    2. The requester clicks on "accept" button./li>
    3. System navigate back to task details page.
    4. System change the state of this task to "assigned" and displays bids with one "accepted" bids and all other bids with status "declined".
    Exceptions
    1. There are no bids.
    2. There is no task.
    3. The task is already assigned or completed.
    Related User Stories US 05.06.01
    As a task requester, I want to accept a bid on one of my tasks, setting its status to assigned, and declining any other bids on that task.

    UC 05.07.01: Decline Bid for Posted Task

    Item Description
    Name Decline Bid for a Posted Task
    Actors Task requester
    Goal Task requesters can decline a bid.
    Trigger The requester clicks on a bid in task details page and clicks on declined button inside bid details dialog.
    Precondition The requester wants to decline a bid on the task details page.
    Postcondition The requester declines a bid, resulting in continued flow for the task with continued updates to the task. More bids can still be placed.
    Basic Flow
    1. The user goes to the task details page to see the bids on the task.
    2. The requester clicks on a bid that he/she wants to decline.
    3. System navigates back to task details page
    4. System changes the status of this bid to "declined"
    Exceptions
    1. There is no task.
    2. The task has a state other than "bidded" .
    3. The bid has been declined already .
    Related User Stories US 05.07.01
    As a task requester, I want to decline a bid on one of my tasks.Declining may be done by marking the bid as such or hiding it.

    Task Assigned

    UC 06.01.01: View Assigned Task List

    Item Description
    Name View Assigned Task List
    Actors Task provider
    Goal Was providers can view list of assigned tasks.
    Trigger Provider clicks.
    Precondition Provider wishes to see their assigned tasks.
    Postcondition List of assigned tasks are displayed.
    Basic Flow
    1. Provider navigates to screen with their assigned tasks.
    2. System brings up their list of assigned tasks and are displayed.
    3. The details for that task are displayed.
    4. The details include:
      1. Task requester username
      2. Title
      3. Status
      4. Accepted bid/li>
    Exceptions If there are no assigned tasks then a blank screen would be shown.
    Related User Stories US 06.01.01
    As a task provider, I want to view a list of tasks I am assigned, each task with its task requester username, title, status, and my accepted bid.

    UC 06.02.01: View Assigned Task Details

    Item Description
    Name View Assigned Task Details
    Actors Task requester
    Goal Task requesters can see the details of a task that has been accepted.
    Trigger Task requester views details of an accepted task.
    Precondition User cannot see details of a given task.
    Postcondition User can see details of a given task.
    Basic Flow
    1. Task requester navigates to screen with the tasks they have posted.
    2. User selects view for accepted tasks.
    3. User selects a specific task from the list of posted and accepted tasks.
    4. The details for that task are displayed.
    5. The details include:
      1. Status (set to “assigned”)
      2. Task provider username
      3. Title
      4. Accepted bid
    Exceptions N/A - A user cannot see the details of a task that does not exist.
    Related User Stories US 06.02.01
    As a task requester, I want to view a list of my tasks with status: assigned, each task with its task provider username, title, status, and accepted bid.

    Task Done

    UC 07.01.01: Set Task Status from "assigned" to "Done"

    Item Description
    Name Set Task Status from "assigned" to “Done”
    Actors Task requester
    Goal To change the status of a completed task to “done”.
    Trigger Task requester changes status of task.
    Precondition Task status is “assigned”.
    Postcondition Task status is “done”.
    Basic Flow
    1. Task requester navigates to screen with the tasks they have posted.
    2. User selects view for accepted tasks.
    3. User selects a specific task from the list of posted and accepted tasks.
    4. The details for that task are displayed.
    5. At the bottom of the screen, there is a button that reads “mark as completed”.
    6. Upon pressing this button, a popup reading “confirm that this task has been completed” with options “yes” and “no”.
    7. If the user selects “yes”:
      1. The status of the task is changed.
      2. Its details screen is once again display.
      3. The “mark as completed” button is gone.
    8. If the user selects “no”:
      1. The status of the task is not changed.
      2. The details screen is displayed again.
      3. The “mark as completed” button remains active.
    Exceptions The task has a state other than "assigned
    Related User Stories US 07.01.01
    As a task requester, I want to set a task with status: assigned to have status: done, when it is completed.

    UC 07.02.01: Set Task Status from "assigned" to "Requested"

    Item Description
    Name Set Task Status from "assigned" to "Requested"
    Actors Task requester
    Goal TTask requester can set the status of a task with state "assigned" to "requested".
    Trigger Task requester clicks on "reassign" button
    Precondition The task has the previous (“assigned”) status and the task only has one bid.
    Postcondition The status of the task is set to “requested”.
    Basic Flow
    1. The task requester clicks on a task with state "assigned".
    2. System navigates to task detailed page.
    3. The task requester clicks on "reassign" button
    4. System hides "reassign" and "FINISH TASK" button, change the state of the task to "requested" and change the status of the bid to "declined".
    Exceptions
    1. The task has state other than "assigned"
    2. The task has more than one bids.
    Related User Stories US 07.02.01
    As a task requester, I want to set a task with status: assigned to have status: requested, when it is not completed and there are no other bids on it.

    UC 07.03.01: Set Task Status from "assigned" to "bidded"

    Item Description
    Name Set Task Status from "assigned" to "bidded"
    Actors Task requester
    Goal TTask requester can set the status of a task with state "assigned" to "bidded".
    Trigger Task requester clicks on "reassign" button
    Precondition The task has the previous (“assigned”) status and the task has more than one bid.
    Postcondition The status of the task is set to “bidded”.
    Basic Flow
    1. The task requester clicks on a task with state "assigned".
    2. System navigates to task detailed page.
    3. The task requester clicks on "reassign" button
    4. System hides "reassign" and "FINISH TASK" button, change the state of the task to "bidded" and change the status of the bid to "declined".
    Exceptions
    1. The task has state other than "assigned"
    2. The task has only one bids.
    Related User Stories US 07.03.01
    As a task requester, I want to set a task with status: assigned to have status: bidded, when it is not completed and there are other bids on it.

    Offline Behaviour

    UC 08.01.01: Offline Add or Edit

    Item Description
    Name Offline Add or Edit
    Actors Task requester
    Goal Add or edit when the device is not connected to network, then synchronize once it is connected.
    Trigger The requester clicks on add or edit while offline.
    Precondition The device is offline.
    Postcondition
  • The changes are synchronized.
  • The deviance is connected to the internet.
  • Basic Flow
    1. The task requester clicks on:
      1. Edit button for a task.
      2. Add button for a new task.
    2. The task requester edits/adds the title of the task.
    3. The task requester edits/adds a brief description of the task.
    4. The device connects to the network.
    5. All the changes is synchronized.
    Exceptions The task synchronizes with the online database only after connected to the network.
    Related User Stories US 08.01.01
    As a task requester, I want to add or edit tasks while off the network, and have these changes synchronized once I regain connectivity.

    US 01.01.01
    As a task requester, I want to add a task to my tasks, each denoted with a title, brief description, and initial status: requested.

    US 01.03.01
    As a task requester, I want to edit the details for any one of my tasks

    Photographs

    UC 09.01.01: Attach Photos

    Item Description
    Name Attach Photos
    Actors Task requester
    Goal Task requester can optionally attach one or more photographs as further viewable details to their task.
    Trigger The task requester clicks on the camera icon in the Create Task screen.
    Precondition The task requester wants to optionally attach one or more photographs as further viewable details to their task..
    Postcondition The task requester has successfully attached one or more photographs as further viewable details to a task of mine.
    Basic Flow
    1. The task requester logs in with their username
    2. Clicks on the create task button./li>
    3. Clicks on the camera icon on the top bar of the screen.
    4. The application goes to the camera app
    5. The task requester takes one or more photos.
    6. He/she clicks on the Add task button after filling in the task details.
    Exceptions If the task requester has not allowed the application to have access to the camera and clicks on the camera icon:
    1. An error message will pop up: “FunkyTasks does not have access to the camera. To enable access, go on settings.”
    2. He/she will not be able to upload photos until access is enabled.
  • If there are more than 10 photos to a task, system will prompt user that they are not allowed to do that.
  • Related User Stories US 09.01.01
    As a task requester, I want to optionally attach one or more photographs as further viewable details to a task of mine. US 09.01.02
    As a task requester, I want the maximum number of photographs that can be attached to a task to be at least 10.

    UC 09.02.01: View Photos

    Item Description
    Name View Photos
    Actors Task requester and task provider
    Goal Task requesters and task providers can view any attached photograph for a task.
    Trigger The user clicks on the gallery icon in either the task details for the requester or provider screen.
    Precondition The user wants to view any attached photograph for a task.
    Postcondition The user is able to view any attached photograph for a task.
    Basic Flow
    1. The user clicks on the task in their dashboard view.
    2. The user clicks on the galley icon in the top bar of the task details screen.
    3. If there is any attached photograph:
      1. The user can now view the found photograph.
      2. If there is more than one photograph, the user can swipe left to view the rest of the photos.
      3. Can click the back button to go back to task details screen.
    Exceptions
  • If there are no photos available:
  • The system will notify the user that there are no photos.
  • Related User Stories US 09.02.01
    As a task requester or provider, I want to view any attached photograph for a task.

    UC 09.03.01: Limit Photo Size

    Item Description
    Name Limit Photo Size
    Actors Sys admin
    Goal Have a limited picture upload size set by sys admin.
    Trigger When the user clicks on add or edit task completed button.
    Precondition The photographs do not have a fixed size.
    Postcondition The limit for postable photographs becomes 65536 bytes.
    Basic Flow
    1. User tries to click the finish add/edit task button after attaching a photograph.
    2. System notifies user that photo size it’s too big.
    3. Sys admin sets this restriction in code.
    Exceptions N/A
    Related User Stories US 09.03.01
    As a sys admin, I want each photograph to be under 65536 bytes in size.

    Geolocation and Maps

    UC 10.01.01: Specify Geolocation

    Item Description
    Name Specify Geolocation
    Actors Task requester
    Goal To be able to input geolocation details for task using maps API.
    Trigger In the create task screen, task requester can click the addd location button.
    Precondition The task has no information about geodetails.
    Postcondition The task has a location.
    Basic Flow
    1. Requester navigates to the create task button on the main screen.
    2. Requester clicks on add location button.
    3. Requester selects geodetails using maps API integration by clicking on the screen where they want the location marker to be.
    4. Requester inputs rest of the task details and clicks save.
    Exceptions
    1. User does not allow google maps permissions
    2. System does not allow user to add location then.
    Related User Stories US 10.01.01
    As a task requester, I want to specify a geo location on a map as further viewable details to a task of mine.

    UC 10.02.01: View Task Geolocation

    Item Description
    Name View Task Geolocation
    Actors Task Requester and Task Provider
    Goal The task requester or provider can view any geo location for a task, on a map.
    Trigger The task requester or provider clicks on the view location button.
    Precondition The geolocation of the task is not shown on the screen.
    Postcondition The geolocation of the task is shown on the screen.
    Basic Flow
    1. The task requester or provider clicks on the view location button in their respective task details screen.
    2. The geolocation of the task is shown on the screen.
    Exceptions If there is no location: System notifies user that there is no location for the task
    Related User Stories US 10.02.01
    As a task requester or provider, I want to view any geo location for a task, on a map.

    UC 10.03.01: See Map of All Tasks

    Item Description
    Name See Map of All Tasks
    Actors Task Provider
    Goal The task provider can see a map of all tasks that have locations, with status: requested or bid, that are within 5 km of my current location.
    Trigger The task provider clicks on the map button in the search task screen.
    Precondition The map of all tasks that are within 5 km of current location is not shown on the screen.
    Postcondition The map of all tasks that are within 5 km of current location is shown on the screen.
    Basic Flow
    1. The task provider clicks on the map button in the search task screen.
    2. The map of all tasks that have locations, with status: requested or bid, that are within 5 km of current location is shown on the screen.
    Exceptions N/A
    Related User Stories US 10.03.01
    As a task provider, I want to see a map of all tasks (that have locations), with status: requested or bid, that are within 5 km of my current location.

    US 10.02.01
    As a task requester or provider, I want to view any geo location for a task, on a map.

    Wow Factor: Ratings

    UC 11.01.01 Post Rating

    Item Description
    Name Give the solver a rating
    Actors Task Provider
    Goal The task provider can see a rating bar with which they can give the solver a rating b/w 0 and 5.
    Trigger The task provider clicks on "finish task"
    Precondition The task provider has accepted a bid
    Postcondition The rating bar sends the rating to the solver user data for calculation.
    Basic Flow
    1. The task provider clicks on the "finish task" button.
    2. The task provider sets a rating on the screen and clicks the "rate!" button.
    Exceptions N/A
    Related User Stories US 11.02.01
    As a task provider, I want to be able to view a bidder's rating.

    US 11.03.01
    As a task requester or provider, I want to be able to view my own rating.

    UC 11.02.01 View Other Rating

    Item Description
    Name See the ratings of a bidder
    Actors Task Requester
    Goal The task requester can see a rating for the bidder in question.
    Trigger The task reqester clicks on a bid.
    Precondition The task requester has accessed the task page from the dashboard.
    Postcondition The requester can see the rating of the bidder.
    Basic Flow
    1. The task requester clicks on bid on the task.
    2. The task requester can see the bidder's rating.
    Exceptions N/A
    Related User Stories US 11.01.01
    As a task provider, I want to be able to give a bidder a rating.

    US 11.03.01
    As a task requester or provider, I want to be able to view my own rating.

    UC 11.03.01 View Own Rating

    Item Description
    Name See the ratings of same user.
    Actors Task Provider
    Goal The user can see their own rating.
    Trigger The task provider clicks on "edit profile" page.
    Precondition The user needs to see their own rating.
    Postcondition The user can see their own rating.
    Basic Flow
    1. The task provider/bidder goes to "edit profile" page.
    2. The task provider/bidder can see their own rating.
    Exceptions N/A
    Related User Stories US 11.02.01
    As a task requester, I want to be able to view a providers's rating.

    US 11.01.01
    As a task requester, I need to be able to rate a bidder after the task is completed.

    WOW factor proposal

    Ratings system for each user that depicts their overall funkiness on a scale from 0 to 5 bananas. Each task requester would give a provider their rating when they are done the requested task based on the requester's judgement for how well the provider did their job.

    Clone this wiki locally