diff --git a/User-stories.md b/User-stories.md index f283d9a..c381c54 100644 --- a/User-stories.md +++ b/User-stories.md @@ -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 don’t know the PIN codes can’t 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 it’s 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 don’t 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 don’t 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 I’m 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. \ No newline at end of file +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** \ No newline at end of file