Project

General

Profile

roos-fs tasks #125

Updated by Vadim Pariev 11 months ago

**User Story:** 
 As a mobile app user, I want to log in with my credentials, so that I can access my data securely without needing to create a new account. 

 **Description:** 
 The login screen must match the web design and integrate with the new backend API endpoint for authentication. 
 The Android app must collect user credentials, communicate with the provided API, securely store the session token, and handle errors appropriately. 

 **Acceptance Criteria:** 
 - The login screen matches the web design (branding, fields, error messages, etc.) 
 - A form is present with input fields for: 
 -- Email/Username 
 -- Password 
 - A login button triggers the API call 

 **On successful login:** 

 - The returned JWT/token is stored securely (EncryptedSharedPreferences or Android Keystore) 
 - The user is redirected to the app’s home/dashboard screen (for not let it be empty, but contain logout button as in the web version) 

 **On A bundle containing user/session info is provided for downstream navigation 

  On failed login:** login: 

 - Appropriate error messages are shown (e.g. “Invalid credentials”, “Server not reachable”) 
 - 

 No navigation happens 
 - 

  A loading indicator is shown while the request is in progress 

 **Other requirements** 
 - Password reset have to work the same way it is implimented in the web version 
 - 

  "Remember Me" option (optional) saves credentials securely 
 - 

  The login state is preserved during app restarts if the token is valid 
 - 

  Use of HTTPS and secure request handling (no plain-text passwords logged) 
 - A bundle have 

  Adhere to be generated to showcase MVVM or the work  
 agreed architecture pattern

Back