we are looking to develop on iOS app in objective C (storyBoard), which will have a secured members area.
we will be using AWS cognito to help us secure and manage the members area sign in and sign up.
The entire authentication should be done through AWS Cognito, and the data required, are phone number, first name, last name, password
The application should have a tabbarcontroller with 5 tabs.
Each of the tabs has a UINavigationController as a rootViewController.
Some View controllers will need to have an authenticated user in order for the user to access them. if user is trying to access a restricted Views, they should be presented with the login view, if they don't successfully login they won't have access to the view.
Only 1 session can be active, This means user won't be able to access the restricted area from 2 different iOS device at the same time, 1 of the users should be logout automatically
The profile page can be accessed from the first tab by tapping on an icon in left corner in navigation controller.
Once the profile icon is tapped, a sign in page is displayed with 2 fields (phone number and password) a submit button and a create account button in case user doesn't have an account
the phone number field should have the same style as the Uber login screens attached (specially the way to select the country code)
if users doesn't have an account, he needs to register, and a new viewcontroller should be presented with 4 fields (Phone number, First Name, Last Name and Password).
the profile page displays the user info, with the possibility to update those fields, and to change the password
Tab#4 will be a restricted area, so anyone that is not logged in will have the login page displayed, in case user is already logged in, he will be able to view the tab
Some other views in the navigation controller would also be restricted, and they should follow the same steps in order to authenticate the user
the developer who will be granted the project, will have to deliver a sample project as described 100% bug free