-
Notifications
You must be signed in to change notification settings - Fork 36
Design Document
This is a reference client of the GeoReport v2 protocol. The protocol is documented at http://wiki.open311.org/GeoReport_v2. Before understanding the feature requirements, you'll need an in-depth undestanding of the spec.
This is a port of the iOS app at https://github.com/City-of-Bloomington/open311-mobile. These two apps should share the same set of core features.
- Code for the latest version of Android: Android 4.0
- Support older versions using the Support Package
- Plan for tables and phones using the same app http://developer.android.com/guide/practices/tablets-and-handsets.html
- Follow Android Design guidlines as much as possible
Each open311 endpoint requires a separate api_key. The app needs to know the list of endpoints it can communicate with. Endpoint data needs to be embedded in the app, as it's not available anywhere else. The required information for each endpoint is:
- name
- url
- jurisdiction_id
- api_key
- supports_media
The user needs to be able to choose their own favorite servers from the Available Severs list. Their list of favorite servers must be saved on the mobile device. Selecting one of the "My Servers" should activate the app to start working with that endpoint.
On activation, users should see a "Home" screen with information about the endpoint. Endpoints who want to be included in the app will submit splash images to be displayed on "Home"
In order to start submitting a report, users must choose a Service. The list of services is obtained via the endpoint's GET Service List query Services presented to the user should be grouped according to GET Service List
GET Service Definition/POST Service Request Services often define very long questions for their attribute labels. It's best for the user to answer each field on a separate screen. This gives the maximum amount of room to display long questions with big controls.
The open311 specification does not include a way to identify individual users. However, we still want users to be able to check back on reports they've submitted. The app must save all reports to the mobile device when the report is posted. Display the list of saved reports
Selecting a saved report should display all available information for that report. GET Service Request