Updated User stories (markdown)

TanelOrumaa 2021-10-10 23:17:10 +03:00
parent 1750b0c74f
commit 84b21f7401

@ -1,25 +1,52 @@
Note: While some user stories have tasks and UI mockups attached, not all tasks and UI mockups are created yet, so this page is WIP.
# **Functional Requirements**
## _Feature - authentication app user experience_
### USF1
As a user, I want the authentication app to notify me if my Estonian ID card is not near the smartphone NFC chip when trying to authenticate, so that I know when I am holding it in the wrong place.
**Related tasks**
* [MOB-24](https://tvp-mobile-authentication.atlassian.net/browse/MOB-24)
**Related mockups**
* [App waiting for ID-card](https://i.imgur.com/eNjDUgP.png)
* [App waiting for ID-card 2](https://i.imgur.com/JTflzi2.png)
### USF2
As a user, I want the authentication app to require me to enter a valid PIN code to authenticate or give a signature, so that people who dont know the PIN codes cant steal my identity.
**Related tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
**Related mockups**
* [Asking for PIN 1](https://i.imgur.com/Z5DIeiO.png)
* [Asking for PIN 1 when pin is inserted](https://i.imgur.com/pfz4T8V.png)
* [Asking for PIN 2](https://i.imgur.com/tXmu1P0.png)
* [Asking for PIN 2 when PIN 2 is inserted](https://i.imgur.com/89qUmjq.png)
* [When user inserts an invalid pin](https://i.imgur.com/NDETrwz.png)
### USF3
As a user, I want the authentication app to give me the option to use biometric authentication instead of entering PIN 1, because its more convenient and faster.
**Related tasks**
* [MOB-28](https://tvp-mobile-authentication.atlassian.net/browse/MOB-28)
* [MOB-38](https://tvp-mobile-authentication.atlassian.net/browse/MOB-38)
**Related mockups**
### USF4
As a user, I want the authentication app to automatically close after the authentication process, so that I won't have to close the app myself.
**Related tasks**
* [MOB-27](https://tvp-mobile-authentication.atlassian.net/browse/MOB-27)
**Related mockups**
* [After successful authentication workflow](https://i.imgur.com/OGEJyMl.png)
* [After successful signature workflow](https://i.imgur.com/m01nXdU.png)
## _Feature - interacting with a website_
### USF5
As a user, I want to use the authentication app for authenticating myself on a website in a mobile browser with an Estonian ID card, so that I can log into the test website with my smartphone.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -27,8 +54,13 @@ As a user, I want to use the authentication app for authenticating myself on a w
* [MOB-43](https://tvp-mobile-authentication.atlassian.net/browse/MOB-43)
* [MOB-48](https://tvp-mobile-authentication.atlassian.net/browse/MOB-48)
**Relevant mockups**
* [Asking for PIN 1 (also above at USF2)](https://i.imgur.com/Z5DIeiO.png)
### USF6
As a user, I want to use the authentication app to give a signature while on a website in a mobile browser with an Estonian ID card, so that I can verify that the functionality works on the test website.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -37,9 +69,14 @@ As a user, I want to use the authentication app to give a signature while on a w
* [MOB-46](https://tvp-mobile-authentication.atlassian.net/browse/MOB-46)
* [MOB-50](https://tvp-mobile-authentication.atlassian.net/browse/MOB-50)
**Relevant mockups**
* [Asking for PIN 2 (also above at USF2)](https://i.imgur.com/tXmu1P0.png)
## _Feature - interacting with other mobile apps_
### USF7
As a user, I want to use the authentication app for authenticating myself in a mobile app with an Estonian ID card, so that I can authenticate in the test mobile app with my smartphone.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -47,8 +84,13 @@ As a user, I want to use the authentication app for authenticating myself in a m
* [MOB-44](https://tvp-mobile-authentication.atlassian.net/browse/MOB-44)
* [MOB-48](https://tvp-mobile-authentication.atlassian.net/browse/MOB-48)
**Relevant mockups**
* [Asking for PIN 1 (also above at USF2)](https://i.imgur.com/Z5DIeiO.png)
### USF8
As a user, I want to use the authentication app to give a signature in a mobile app with an Estonian ID card, so that I can verify that the functionality works on the test app.
**Relevant tasks**
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
@ -56,74 +98,119 @@ As a user, I want to use the authentication app to give a signature in a mobile
* [MOB-44](https://tvp-mobile-authentication.atlassian.net/browse/MOB-44)
* [MOB-50](https://tvp-mobile-authentication.atlassian.net/browse/MOB-50)
**Relevant mockups**
* [Asking for PIN 2 (also above at USF2)](https://i.imgur.com/tXmu1P0.png)
## _Feature - other_
### USF9
As a user, I want the application to be able to save my ID card CAN number, so that I do not have to enter it again every time I use the application as the CAN of the ID card never changes.
**Relevant tasks**
* [MOB-38](https://tvp-mobile-authentication.atlassian.net/browse/MOB-38)
* [MOB-39](https://tvp-mobile-authentication.atlassian.net/browse/MOB-39)
**Relevant mockups**
* [When CAN hasn't been entered yet](https://i.imgur.com/5KgWrki.png)
* [View for adding CAN](https://imgur.com/MHyr2Br)
* [When added CAN is invalid](https://imgur.com/kRBBhv8)
### USF10
As a user, I want the application to display public information about my ID card, so that I can verify whether the application reads my ID card correctly.
**Relevant tasks**
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
* [MOB-40](https://tvp-mobile-authentication.atlassian.net/browse/MOB-40)
**Relevant mockups**
* [The default view](https://i.imgur.com/wC2yOsk.png)
* [View for displaying public info](https://i.imgur.com/WqX4pmH.png)
# **Non-functional Requirements**
### USN1
As a client, I want the mobile app to be developed for Android phones, because I have more experience with Android development.
**Relevant tasks**
* [MOB-9](https://tvp-mobile-authentication.atlassian.net/browse/MOB-9)
### USN2
As a client, I want the mobile app to have a minimal Android API level 26, because supporting older Android versions is not important for this project.
**Relevant tasks**
* [MOB-9](https://tvp-mobile-authentication.atlassian.net/browse/MOB-9)
### USN3
As a client, I want the mobile app to be web-eID compatible, because the application is going to be used with Estonian ID cards.
**Relevant tasks**
* [MOB-21](https://tvp-mobile-authentication.atlassian.net/browse/MOB-21)
* [MOB-22](https://tvp-mobile-authentication.atlassian.net/browse/MOB-22)
* [MOB-23](https://tvp-mobile-authentication.atlassian.net/browse/MOB-23)
### USN4
As a client, I want the mobile app to use NFC technology, so that I can authenticate myself with my NFC-enabled Estonian ID-card on my NFC-enabled Android phone.
**Relevant tasks**
* [MOB-15](https://tvp-mobile-authentication.atlassian.net/browse/MOB-15)
* [MOB-16](https://tvp-mobile-authentication.atlassian.net/browse/MOB-16)
**Relevant mockups**
* [Error when NFC isn't active on the phone or when NFC rights aren't given for the app](https://i.imgur.com/nizDiXG.png)
### USN5
As a developer, I want the app to have detailed documentation so that I can use it to implement these features in my own applications.
**Relevant tasks**
* [MOB-7](https://tvp-mobile-authentication.atlassian.net/browse/MOB-7)
* [MOB-8](https://tvp-mobile-authentication.atlassian.net/browse/MOB-8)
### USN6
As a developer, I want the source code of the mobile application to have comments, so that I can understand the code.
**Relevant tasks**
* (all coding tasks)
### USN7
As a user, I want the mobile application to not store data about my ID card after the authentication process, unless asked, so that I dont have to worry about my data safety.
**Relevant tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
* [MOB-28](https://tvp-mobile-authentication.atlassian.net/browse/MOB-28)
* [MOB-39](https://tvp-mobile-authentication.atlassian.net/browse/MOB-39)
### USN8
As a vision impaired user, I want to authenticate myself without being able to see the screen, so that I can also use the app.
**Relevant tasks**
* [MOB-29](https://tvp-mobile-authentication.atlassian.net/browse/MOB-29)
### USN9
As a user, I want the authentication app to open within 10 seconds 99% of the time, so that my experience is comfortable.
**Relevant tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
### USN10
As a user, I want the time between reading the information from the ID card and the recipient receiving the JWT token to be less than 15 seconds 99% of the time, so that I dont have to wait long.
**Relevant tasks**
* [MOB-18](https://tvp-mobile-authentication.atlassian.net/browse/MOB-18)
### USN11
As a user, I want the application to support Estonian and English languages, so I can use it in the language Im more comfortable with.
**Relevant tasks**
* [MOB-10](https://tvp-mobile-authentication.atlassian.net/browse/MOB-10)
* [MOB-37](https://tvp-mobile-authentication.atlassian.net/browse/MOB-37)
### USN12
As a developer, I want the mobile app to return an error code when problems occur, so that I can handle various situations in my own app or on my website.
**Relevant tasks**
* [MOB-25](https://tvp-mobile-authentication.atlassian.net/browse/MOB-25)
* [MOB-26](https://tvp-mobile-authentication.atlassian.net/browse/MOB-26)
### USN13
As a developer, I want the mobile app project to interact with the test website and the test app, so that I can check whether the authentication system works as promised.
**Relevant tasks**