I'm after an iPhone app as per the following
The app will be primarily used to collect information - this will be keyed in using the touch screen
There will be a DB on the phone with approx 4 or 5 tables and the same schema setup on a mySQL we based server accessable via http - The Web DB is ultimately the primary DB, while the one on the app is a secondary - I'll provide a set of rules for managing the synchronisation and replciation (some tables are sync'd, some are replicated) - the logic is quite simple and based on simple SQL commands
I'll build the mySQL DB and provide you with the DB schema - all you need to do is make the app
The actual interface should be clear, intuitve and qucik to use , but it doens't need to look pretty - I'd prefer an ugly, functional & cheaper app than a pretty, useless and expensive one
there'll be a few screens - all the DB data req'd below will be pulled form the DB on the iphone
1 - login (user selects their name from a small lsit of about 3 to 5) and enters a password - this isn't secure, it's more of a formality for the user - user details including passwords are maintained in the DB
2 - sites - select a "site" (a warehouse) from a list of about 20 to 30) - no filtering req'd here for the user - just display all the sites in the DB
3 - scans - each "site" may have upto a few hundred "scans" that are needed - a scan is a point where the user goes to a spot in the warehouse and valdiates a 4 digit number by entering it into the app. The app will show the next scan based on priority/sequence setup in the table (a straight sort), BUT the user can enter ANY of the scan points - the app will validate it against those for the site and move on
4 - scan info entry - after entering the 4 digit scan ID, the next screen will ask for some info about the "Scan" - ie what course of action was taken by the user and select from a list of what they did at the site. There'll also be an area (checkbox?) to mark the station as damaged
5 - all "scan points" must have an action against them - sometimes a scan point can't be found - so from the scan screen (point 3) while showing the next scan point to be entered, if the user can't find it, they'll be able to simply mark it as "Not Found"
The main table with "scan" info (ie site, scan, user, date, time etc) will be "moved" from the iphone app DB to the web DB as below (lets call this replication) - The replication logic runs in the background - all the above input screens is working from the DB on the local app - as Internet becomes available, the sync process runs on a 'polling' basis - that is, it runs every 10 minutes - the polling cycle is either configured from a "settings" in the app or if easier, i can create a table called "settings" and add it as a field in there (in short, I'd like to have some control over this so I can teak over time)
The polling checks it can access the mySQL DB - if it fails, it skips the poll and tries again next poll. When a successfull poll happens, data is copied to the mySQL DB and removed from the iphone
The other tables are synchronised - that is at time of first login, the app goes to the mySQL DB and looks for updates (again, I'll provide logic for this) - this sync only needs to happen daily, however a button or similar on the login page can force this sync process (has to happen before login so new user can login
I'm still completing a detailed spec - i won;t be able to provide much info on what the interface should be able to do as I'm not really up with iphone interfaces so will leave this to your judgement. but there will eb times that I ask for something like "Big number buttons are required for rapidly entering the 4 digit scan point ID" - anything UI related will be mostly "nice to have" though - the app is merely a means to an end - that is, it needs to collect data
As part of this, please realise that I'll want to own copyright to the solution and be given copies of all code written. I'll ask that code be clear and commented and hopefully built in a way that lends itself well to future improvements. If happy with your work, I'll be wanting to develop this much further as it is rolled out here in Australia - this is jsut somethign to get the ball rolling!
I'll have a full spec available within the next 2 to 3 days - in the meantime, don't hesitate to ask me questions
Cheers
I can do this project. I am having total 4 years of experience in software development including 2 years of exp. in mobile application development for WM, iphone,android and blackberry.