Project for ZoloStays
Assignment for Android Developer
Acceptance Criteria
Your submission for assignment is going to be rejected if -
- Git commit history is not provided
- Java naming conventions are not followed properly
- MVP/ MVVM pattern is not implemented
- Dagger 2 is not used
Your Android submission will stand a better chance of selection if -
- You have frequent git commits with clear commit messages
- Data Binding + MVVM is implemented
- 100% Unit Test Coverage for Presenters
- Use of appropriate third party libraries.
Mobile App Requirements You are required to build a register/login module of Zolostays customer app. Mentioned below are the screens and their requirements. You can check out Marvel link to understand the flow and download images if needed. You can use material icons for the project. Your app should start with login screen.
Login Screen
- If user is not logged-in, show login screen first.
- On successful login, you need to redirect the user to Profile screen.
- Provide validation to each field.
- Login button should be activated if field parameters are valid.
- Show appropriate error message on snackbar.
- When user clicks on register, he should be redirected to Registration Screen.
- On Register button click, user details need to be saved in local db
- If the user exists in your local DB, show proper error message on snackbar.
- Provide validations to each field.
Forgot Password Screen
- This screen comes up on clicking Forgot password in Login Screen
- EditText field should accept register email address(in image itβs shown as a number, but here we have to accept email id) and send new generated password to register email id.
- On successful email send, redirect user to login screen.
- Provide validation to each field.
Bonus Point: Profile Screen
- Show Name, EmailId, Number as a editable field and provide one update button.
- On update click, field should be get updated.
- Provide validation to each field.
- Use material icons from here : https://material.io/icons/