# ZoloStays
Project for ZoloStays

# ZoloStays
Project for ZoloStays

<b>Assignment for Android Developer</b>
<br>
<p><b>Acceptance Criteria</b></p>
<br>
Your submission for assignment is going to be rejected if -
<ol>
<li>Git commit history is not provided</li>
<li>Java naming conventions are not followed properly</li>
<li>MVP/ MVVM pattern is not implemented</li>
<li>Dagger 2 is not used</li>
</ol>
Your Android submission will stand a better chance of selection if -
<ol>
<li>You have frequent git commits with clear commit messages</li>
<li>Data Binding + MVVM is implemented</li>
<li>100% Unit Test Coverage for Presenters</li>
<li>Use of appropriate third party libraries.</li>
</ol>
<br>
<b>Mobile App Requirements</b>
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.
<br>
<b>Login Screen</b>
<ol>
<li>If user is not logged-in, show login screen first.</li>
<li>On successful login, you need to redirect the user to Profile screen.</li>
<li>Provide validation to each field.</li>
<li>Login button should be activated if field parameters are valid.</li>
<li>Show appropriate error message on snackbar.</li>
<li>When user clicks on register, he should be redirected to Registration Screen.</li>
</ol>
<b>Registration Screen</b>
<ol>
<li>On Register button click, user details need to be saved in local db</li>
<li>If the user exists in your local DB, show proper error message on snackbar.</li>
<li>Provide validations to each field.</li>
</ol>
<br>
<b>Forgot Password Screen</b>
<ol>
<li>This screen comes up on clicking Forgot password in Login Screen</li>
<li>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.</li>
<li>On successful email send, redirect user to login screen.</li>
<li>Provide validation to each field.</li>
</ol>
<br>
<b>Bonus Point: Profile Screen</b>
<ol>
<li>Show Name, EmailId, Number as a editable field and provide one update button.</li>
<li>On update click, field should be get updated.</li>
<li>Provide validation to each field.</li>
<li>Use material icons from here : https://material.io/icons/</li>
</ol>
Marvel Prototype - https://marvelapp.com/3257b1b

Update Readme with requirements of the project
Update Readme with requirements of the project

Project details added as received in the PDF