**_High Level Requirements:_**
A Mobile App will be built to demonstrate the capabilities of HTML5/PhoneGap. The App will access a SOAP Web Service, store the results in a local Sqlite database, display the results in a List View, display the results as Pins on a Map, and use CSS to change the look and feel. The App will be able to be compiled natively for both iOS and Android.
The developer can choose from the following development platforms: Sencha Touch
Kendo UI
Adobe Dreamweaver
## Deliverables
**_Web Service details:_**
WSDL: <[login to view URL]>
Operation: GetPlaceList
Request: <soapenv:Envelope xmlns:soapenv="[login to view URL]" xmlns:msr="[login to view URL]">
<soapenv:Header/>
<soapenv:Body>
<msr:GetPlaceList>
<!--Optional:-->
<msr:placeName>park</msr:placeName>
<msr:MaxItems>200</msr:MaxItems>
<msr:imagePresence>false</msr:imagePresence>
</msr:GetPlaceList>
</soapenv:Body>
</soapenv:Envelope> Response (abbreviated for readability):
<soap:Envelope xmlns:soap="[login to view URL]" xmlns:xsi="[login to view URL]" xmlns:xsd="[login to view URL]">
<soap:Body>
<GetPlaceListResponse xmlns="[login to view URL]">
<GetPlaceListResult>
<PlaceFacts>
<Place>
<City>Park</City>
<State>Kansas</State>
<Country>United States</Country>
</Place>
<Center>
<Lon>-100.35832977294922</Lon>
<Lat>39.112499237060547</Lat>
</Center>
<AvailableThemeMask>3</AvailableThemeMask>
<PlaceTypeId>OtherLandFeature</PlaceTypeId>
<Population>0</Population>
</PlaceFacts>
<PlaceFacts>
<Place>
<City>Park</City>
<State>Kentucky</State>
<Country>United States</Country>
</Place>
<Center>
<Lon>-85.77471923828125</Lon>
<Lat>37.140277862548828</Lat>
</Center>
<AvailableThemeMask>3</AvailableThemeMask>
<PlaceTypeId>OtherLandFeature</PlaceTypeId>
<Population>0</Population>
</PlaceFacts>
</GetPlaceListResult>
</GetPlaceListResponse>
</soap:Body>
</soap:Envelope>
**_Detailed Requirements listing:_**
10. App shall retrieve 200 record dataset from SOAP Web Service upon startup.
20. App shall store dataset in a local Sqlite database for subsequent use when device has no network connection.
30. App shall retrieve dataset from database for use in Views.
40. App shall have 2 Views: 40.1 List View
40.2 Map
View 50. List View shall display the dataset in a scrollable list with the following elements:
50.1 City
50.2 State
50.3 Country
50.4
PlaceTypeId 60. Map View shall display each record from the dataset as a Pin on a Map using the returned elements Lat and Lon.
70. Pins shall have Bubbles that appear when the Pin is selected.
80. Bubbles shall list the following elements for that record. 80.1 City
80.2 State
80.3 Country
80.4
PlaceTypeId 90. App shall use CSS stylesheet to override iOS and Android look and feel to use Red accents for the following controls:
90.1 Buttons
90.2 Header Bars
90.3 Footers
Bars 100. App shall use CSS to change the List View Background Image (any image can be used).
110. List View Background image shall change with device orientation (portrait vs landscape) to an image appropriately sized for that Orientation.
120. App shall size appropriately for both a phone and tablet resolution (iPhone and iPad).