I am looking for an iPhone and Android developer who can create the following app for both platforms.
Main goal of the app is to be used in conjunction with a scouting expedition. Simply put the user should get informational messages based on their location, but please read exact requirements below.
1. When started for the first time, the app must send a device unique id to my server, it will receive back a unique key which should be stored persistently.
(this step should be repeated in case the stored key is not available anymore for whatever reason)
2. After being started the app should display a splash screen with custom image (for ~ 3sec), register for location change events and push notifications (don't know Android equivalent) and then reside in the background (/not be active).
3. When a location change event is received a message with location properties must be formatted, then encrypted with the key as retrieved in (1) and sent to my server. After that the app should again reside in background (/not be active).
4. The app should at any time be able to be triggered by a message pushed from my server, for iOS this will be done using Push Notifications (I think), for Android I don't know (but assume you will).
5. When triggered via push notification the app should connect to my server and request an info message, such message consists of an image and a text. The image should then be displayed on the screen along with an option to switch between image and text. There should also be an option to close the message in one of two ways: 'dispose' or 'keep'. After closing the user will return to a list of all info messages received. The user can scroll through this list and select or remove each individual message. User can also leave the list which means leaving the app (however app should still keep listening to location events and push notifications).
1. conforming to platform (iOS/Android) guidelines
2. clean, well-documented, object-oriented code
3. full, compilable source code/project included in delivery
4. server part is outside the scope of this project (I will create it myself)