Skip to content

User stories backlog

Maab Mohammedali edited this page May 29, 2021 · 52 revisions

Epic feature 1 : Obstacle Avoidance (Self Driving)

📝User story #1.1: Avoid an obstacle(Autonomous mode)

As a mailman I want for the car to stop when it detects an obstacle so that it doesn't crash.

Acceptance criteria:

  • The car should move forward
  • The car should stop when facing an obstacle and change direction.

Epic feature 2: Native Android apps

📝User story #2.1: Login authorization

As a user (Mailman and Receiver), I want to be able to log into the right part of app so that I can have access to the app features that I need.

Acceptance criteria:

  • The user should have text fields to enter credentials
  • Password field shouldn’t show the password
  • The app should provide two different login buttons one for Mailman and the other for Receiver to login. If the credentials are wrong a message should appear mentioning "wrong credentials"

📝User story #2.2: Message dialog popup

As a mailman, I want to see the sender and content of the message I get when I click on it so that I don't miss the details

Acceptance criteria:

  • A pop-up dialog message should appear once the mailman clicks on the message.
  • The message should display the title, ID, the name of te sender, and content and time of reception .
  • The dialog pop-up should contain "Close" button to close the window.

📝User story #2.3: UI android app

As a user (Mailman and Receiver), I want a good interface so that I can use the app easily without getting confused or frustrated.

Acceptance criteria:

  • The UI has a good visual and simple to use.
  • All the app components: buttons, text fields and links should be functional.

📝User story #2.4:App Logo

As a mailman, I want to see the logo of the app appear on my phone screen so that I can distinguish it from the other apps I have on my phone

Acceptance criteria:

  • The logo should represent the context of the app
  • The logo should have a car with the name of the app on it

📝User story #2.5:App Name

As a mailman, I want to see the name of the app so that I can distinguish it from the other apps I have on my phone

Acceptance criteria:

  • The name should be Smart DeliRover

📝User story #2.6: Logout

As a user (Mailman and Receiver), I want to be able to logout from the app so that I maintain my privacy.

Acceptance criteria:

  • The app should show the logout button in both versions (Receiver and Mailman).
  • A pop up message should appear to confirm the logout

Epic feature 3: DeliRover App connectivity

📝User story #3.1: MQTT connection

As a mailman, I want to connect the app to the car in order to monitor it.

Acceptance criteria:

  • The app should be linked to the car using MQTT online broker connection

📝User story #3.2: MQTT sustainability (out of scope, not secure)

As a mailman, I don’t want to reconnect the smart car when I switch windows so I don't loose control of the car.

Acceptance criteria:

  • The mqtt connection should persist when browsing from a screen to another.
  • The connection should be broken only when the mailman decides to disconnect by pressin the button disconnect.

📝User story #3.3: MQTT disconnection

As a mailman, I want to be able to stop controlling the car when I'm done with mail deliveries so that I don’t waste energy of the car and the controlling device.

Acceptance criteria:

  • The disconnection should be done once the mailman exits the control screen
  • The app should show a pop notification confirming disconnection from the mqtt.

Epic feature 4: Car Movement

📝User story #4.1: Car directions

As a mailman I want to control the car manually via buttons so that I deliver the mail.

Acceptance criteria:

  • the buttons should be up to move forward,down for backward, left for left, and right to the right
  • The app should have “Stop” button to stop the car

Epic feature 5: DeliRover App (Mailman version)

📝User story #5.1: Available or not Available

As a receiver I want to be able to inform the mailman if available or not available to expect the delivery

Acceptance criteria

  • The app should display two buttons”Available an “Not available” to the receiver when an “Expect delivery” message is received from the mailman

📝User story #5.2: List of receivers

As a mailman, I want to be able to see the list of receivers stored in the app so that I know more details about to whom and to where I deliver the mail.

Acceptance criteria:

  • The list should display the name, ID and the address of the receivers

📝User story 5.3: Stop manually

As a mailman, I want to have a stop button for manual control so that I can stop the car.

Acceptance criteria:

  • The app should have a visible stop button on the top of the screen .
  • The stop button should be disabled once the user clicks on it.

📝User story #5.4: Camera

As a mailman, I want to have a camera view on my app screen when I monitor the car so I can see where the car goes through its camera sensor.

Acceptance criteria:

  • The view should be on the top part of the "Car control" screen.
  • Direction buttons should be visible underneath the camera view.

📝User story #5.5: Home screen

As a mailman I want to have a home screen so that I can choose the feature that I want to use.

Acceptance criteria:

  • The home screen should show”manual control” button
  • The home screen should show”Vien the list of receivers” button
  • The home screen should show”Check messages” button
  • The home screen should show”Notify receivers” button
  • The home screen should show”Logout” button

📝User story #5.6: Pickup confirmation message UI

As a mailman I want to be able to see the sender and the short title of the confirmation message so that I don't waste time reading the messages.

Acceptance criteria:

  • A “pick up” button should show for each confirmation message item on the list

📝User story #5.7: Start manually

As a mailman, I want to have a start button for manual control so that I can start the car.

Acceptance criteria:

  • The app should have a start button on the screen called ”Manual control”.
  • The start button once been clicked by the mailman, the connection to the car should be established
  • A popup message should appear to confirm the connection establishment.

Epic features 6: DeliRover App (Receiver version)

📝User story #6.1: Cofirmation button UI

As a receiver I want to be able to confirm mail pick up so that the mailman continues delivering to the next receiver

Acceptance criteria:

  • The app should show a button to confirm pick up.

📝User story #6.2: Pick-Up Notification UI (Receiver Layout)

As a receiver I want get see a message when my mail has arrived to its destination so that I can pick it up.

Acceptance criteria:

  • A message should show having the mention pick up

📝User story #6.3: Log out(receiver)

As a receiver, I want to to log out from the app so that I keep my privacy secure

Acceptance criteria:

  • The receiver should logout through the logout button on the receiver home screen

Epic feature 7: Notifications

📝User stroy #7:1: Dialog message

As a mailman, I want to see the details and contents of the messages I get when I click on them so that I don't miss them

Acceptance criteria:

  • A pop-up dialog message should appear once the mailman clicks on the message.
  • The message should display the ID, the name of the sender, the title and content.
  • The dialog pop-up should contain "Close" button to close the window.

📝User story #7.2: Expect delivery

As a mailman I want to be able to send notifications to the receiver so that the expect a delivery.

Acceptance criteria:

  • A button “Expect” should appear beside the destination on the list
  • When the mailman clicks on he button a pop should appear to confirm that the message has been sent

📝User story #7.3: Check messages (receiver)

As a receiver, I want to be able to see the mailman messages so that I have information about my deliveries

The app should display see notifications to expect a delivery when the mailman send it

  • The receiver should see notifications to confirm pickup a delivery when the mailman send it.

📝User story #7.4: Check messages (mailman)

As a mailman, I want to be able to check messages that I received from the receivers so I know when they are available or confirm a pickup.

Acceptance criteria:

  • The list should display the title of the message
  • The list should have pickup button when the title of the message received is available

📝User story #7.5: Send messages(mailman)

As a mailman I want to be able to send messages to the receivers so that I inform them to expect or pickup a delivery.

Acceptance criteria:

  • The mailman should send standard message to expect or pickup a delivery via the corresponding buttons to each action

📝User story #7.6: Display the list of messages for the mailman

As a mailman, I want the app to display the list of all the messages that I received from the receivers so that I keep the traceability.

Acceptance criteria:

  • The list should display all received messages

📝User story #7.7: Display the list of messages for the receiver

As a receiver, I want to be able to see all the messages sent from the mailman so I know if I need to expect a mail and if I need to pick it up

Acceptance criteria:

  • The list should display all received messages

📝User story #7.8: Expect delivery notification

As a receiver I want to be notified when I have mail so that I expect it

Acceptance criteria:

  • The receiver should receive a notification via the app to expect a delivery
  • The mailman should define delivery destinations

📝User story #7.9: Pick-up notification:

As a receiver I want to be notified of the arrival of the mail so that I can pick it up.

Acceptance criteria:

  • A notification should pop up when the car arrives at the destination with an option to confirm the pick up.
  • The confirmation button or link should notify the mailman that the receiver has picked up his/her delivery.

📝User story #7.10: Pick-up confirmation:

As a receiver I want to be able to confirm the delivery pick-up so that the mailman delivers mail to the next receiver.

Acceptance criteria:

  • The app should show a button to confirm pick up.

📝User story #7.11: Mailman Messages

As a mailman, I want to be able to contact the receivers so they have information about their deliveries

Acceptance criteria:

  • The message should be predefined and the mailman shouldn’t write the message
  • The message is send upon clicking on a button

📝User story 7.12:Receiver Messages

As a Receiver, I want to be able to check messages that I received from the mailman so I know when the mail will arrive.

Acceptance criteria:

  • The message should be predefined and the mailman shouldn’t write the message
  • The message is send upon clicking on a button

Epic feature 8: Autonomous mode (Out of scope)

📝User story #8.1: Autonomous mode

As a car monitor I want the car to move forward and stop to deliver mails.

Acceptance criteria

  • The car should stop every 5 meters.
  • The car should wait 30 seconds the time for the receiver picks up the mail.
  • The control buttons should be disabled

📝User story #8.2: Obstacle notification

As a car monitor I want to be notified when the car confronts an obstacle so that I can take control of it manually.

Acceptance criteria:

  • The car should stop when facing an obstacle and send a notification
  • The device should vibrate upon receiving an obstacle notification
  • The app should give a choice of controlling the car manually or continueing the autonomous mode
Clone this wiki locally