- EmailID -> Text field -> Email validation -> Mandatory field
- Password -> secure field -> password validation -> Mandatory field
- Login -> Button
- Registration -> Button
- Name -> Alpha numeric keyboard (mandatory)
- Gender -> Segment control (male/Female/Others) (Optional)
- EmailId -> Email keyboard (mandatory)
- Phone number -> Number keyboard with validation of minimum 10 numbers (mandatory)
- DOB -> Date picker (mandatory)
- Country -> Normal picker with some static data (Optional)
- Password -> Normal keyboard with validation of minimum 8 char (mandatory)
- Intro -> Text view with normal key board (Optional)
- Submit -> Button -> Do all the validation -> Store the details in any object/local store
- Reset -> Button -> All the data in each field will be cleared
Need to use following API: https://jsonplaceholder.typicode.com/photos
- Initially user can see Album title with thumbnail image on each cell.
- On tap of each cell, it will show rest of album details with Photo (Need to implement expand and collapse on tap of each cell)
- Use List view, Table view cell and lazy loading for design the screen. Show loader while calling API
- Use SwiftUI for all UI design
- Use MVVM design pattern
- Use Combine framework for all reactive and MVVM pattern
- Please do all the validation on each screen and show an alert text with appropriate message
- For storing user details, you may use anything which is comfortable for implementation
- User land on Login screen when App lunch
- User need to register itself by going to registration screen
- After registration complete, user can able to login with submitted user emailId and password
- After successfully login, user land on Home screen