UserStory - PENGYUXIONG/TaxiGo GitHub Wiki

Task Basic

US 01.01.01 As a passenger, I want to add a task to my tasks, each denoted with a title, brief description, type of the truck, and initial status: requested. US 01.02.01 As a passenger, I want to view a list of my tasks, with their titles and statuses. US 01.03.01 As a passenger, I want to edit the details for any one of my tasks. US 01.04.01 As a passenger, I want to delete a task of mine if the status is requested or bidded. (if bidded status, the bids will all be rejected automatic)

Task Details

US 02.01.01 As a passenger or driver, I want to view all the details for a given task, including its title, description, status, type(if any). US 02.02.01 As a passenger or driver, I want a task to have a status to be one of: requested, bidded, assigned, or done.

User Profile

US 03.01.01 As a user, I want a profile with a unique username and my contact information. US 03.02.01 As a user, I want to edit the contact information in my profile. 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

US 04.01.01 As a driver, I want to specify a set of keywords, and search for all tasks, with status: requested or bidded whose description or title contains all the keywords. US 04.02.01 As a driver, I want search results to show each task with its task requester username, title, status (if any).

Task Bidded

US 05.01.01 As a task provider, I want to make a bid on a given task with status: requested or bidded, using a monetary amount.

US 05.02.01 As a driver, I want to view a list of tasks that I have bidded on, each with its passenger username, title, status, lowest bid so far, and my bid.

US 05.03.01 As a passenger, I want to be notified of a bid on my tasks.

US 05.04.01 As a passenger, I want to view a list of my tasks with status bidded, each having one or more bids.

US 05.05.01 As a passenger, I want to view the bids on one of my tasks.

US 05.06.01 As a passenger, I want to accept a bid on one of my tasks, setting its status to assigned, and declining any other bids on that task.

US 05.07.01 As a passenger, 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

US 06.01.01 As a driver, I want to view a list of tasks I am assigned, each task with its task requester username, title, status. US 06.02.01 As a passenger, I want to view a list of my tasks with status: assigned, each task with its task provider username, title, status, and type.

Task Done

US 07.01.01 As a passenger, I want to set a task with status: assigned to have status: done, when it is completed. As a task requester, I want to set a task with status: assigned to have status: requested, when it is not completed.

Offline Behaviour

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

Photographs

US 09.01.01 As a driver, I want to optionally attach one or more photographs as further viewable details to a task of mine. US 09.02.01 As a driver or passenger, I want to view any attached photograph for a task.

Geolocation and Maps

US 10.01.01 As a passenger, I want to specify a geo location on a map as further viewable details to a task of mine. US 10.02.01 As a passenger or driver, I want to view any geo location for a task, on a map. US 10.03.01 As a driver, I want to see a map of all tasks (that have locations), with status: requested or bidded, that are within 5 km of my current location. US 10.04.01 As a driver or passenger, I Want to see the route of the trip on the map with both driver and passenger's locations can be seen.

Rating

US 11.01.01 As a passenger or driver, I want to view the specific driver. US 11.01.02 As a passenger, I want to give rating to the driver that completed my task.