The application basis of the application will be to show what places are hot within a definable period of time. Similar to foursquare which shows where people are this will allow people to quickly tag in however it will leave a trail of tag ins and as time goes on over the night for a given location they will dissipate from that location (Age).
Flow 1 â€“ Home Display
â€¢ When the app loads it will need to get the current location of the person this is required since we need to know where to show the person.
â€¢ Location should be shown on a map such as google maps
â€¢ The display will show all the current populate places within a definable range per location. IT would be great if this was calculated however to start just a few miles would be fine. Initial rollout would be focused on large cities wihere a few miles would cover a lot of places however smaller towns it wouldnâ€™t be as effective and a calculation would need to be shown
â€¢ The login should simple call the web server back end to get the url to call from the location based server and paint that url with all the places based on color and size.
â€¢ The larger the object (pin) the more popular it is as well as the color.
â€¢ The home page would need functionality Tag in.. to open an additional view to display the places surrounding the person or tag in their own.
â€¢ If a user touches a spot on the map it should display information about the location from the map
â€¢ It should allow the user to zoom in and adjust the default distance for searches and view of the map via the zooming in or how showing more or less places
Flow 2 â€“ Tag in
â€¢ The tag in screen should be able to do type ahead for locations
â€¢ It should obtain the list of places close by and allow the person to tag in
â€¢ Tagging in should submit data to a service to store this tag in so it can be aged
â€¢ It should support a location thatâ€™s not in the location based place service
â€¢ It should be easily scrollable especially for large cities which might have lots of locations
â€¢ The locations should tailored to bars, clubs, restaurants, lounges, parks, and other places of interest. It should exclude things like apartment buildings, homes, grocery stores..
â€¢ The person should be able to tag thumbs up or thumbs down based on the place and only be able to tag a place in a configurable amount of time (default to 4 hours).
â€¢ The backend service should be the main point of contact for the application and a web service
â€¢ It should have a security mechanism in place so that a malicious user can not just bombard the system with bad requests
â€¢ It should also have a management page showing useful metrics of the application such as volumes, errors, number of unique places, unique number of users using the system
â€¢ Web service should be in php
â€¢ Database should be in mysql
â€¢ The web services and backend should do the calculations for the pins on the map based on likes and dislikes
â€¢ The service response time under load of 1000 concurrent users should be under 1s
The calculation for the back end service should age but not purge the data in the like and dislike database so that it can be used for historical information
The calculation should age records as such by default but be configurable:
o High valid for 2 hours including med and lows
o Med valid for 4 hours after high including lows
o Low valid for 4 hours after high
Non functional items
The app would need to require internet
GPS location to be allows
Time out for connections
Proper error handling and graceful user exists
All urls and default values should be in a single config file
This is our 5th app being created via [url removed, login to view] and we already have an apple account.
Expectation is sound code will be compiled and reviewed by a another freelancer as a code review (similar posting available).
iPhone, Mobile Phone