We are looking for an experienced iPhone developer to port the current mobile application developed using Sencha Touch (downloadable from [url removed, login to view] ).
1. The mobile app captures data entered by the user
2. The user is able to set Reminders (the reminder are date based reminders)
3. When the reminder date is reached, the user is prompted via the Notification Centre of the phone (The App is not required to be running for the user to be notified of a reminder event):
4. The data entered by the User is stored locally on the device, and uploaded to a server
5. The information updated to the Server is stored in a database (SQL Server)
6. Communication between the Database – App is via JSON
7. The user can login to the app as either:
a. An Anonymous user (the device UDID is used to tag the user information to be stored in the database)
b. Via their Facebook, LinkedIn or Twitter login.
As part of porting the application, you will be required to:
1. Use SQLite on the local device to store the information
2. Implement synchronization to ensure no data is lost between the device and the server, with the synchronization module having the following key features:
a. At a specified time period if there is data for upload, upload the data (provided network connectivity exists)
b. Whenever a push notification is received from the server, the app should connect to the server and pull any data that may be available at the Server
c. Perform a forced Sync when the user shuts the application / logs out
d. Manual Sync – The user would select the Sync button to force a sync
e. Cancel Sync – Cancel a Sync Request that is pending execution
3. Implement a KILL switch on the application that may be activated remotely via a push notification from the server.
You will be provided with:
1. All the necessary UI components
2. Existing source code for reference (where required).
You are required to:
1. Deliver a fully working application
2. Deliver Source code that is very well Commented, Structured and documented
3. Conform to all Apple guidelines for the development of iOS applications to be placed in the AppStore
4. Ensure that no patents or IP of other organizations are infringed by your program
5. Must not use any software libraries or components that require licensing.
To win this project, you must:
1. Demonstrate your experience in developing quality apps that have a high user base
2. Prove your ability deliver on time and on budget