Challenge Overview
1. Project Overview
The EPA is a U.S. federal government agency devoted to safeguarding the environment. One of the EPA's great concerns is the profileration of cyanobacterial harmful blooms (cyanoHABs) in the nation's lakes. The following resources provide information on what cyanoHABs are and how they threaten the environment.
The TopCoder project on cyanoHABs aims to develop an algorithm that will be deployed in an Android app with mapping and data visualization capabilities. The app will inform local and federal policy makers about locations where bloom events are likely to occur, allowing them to concentrate their efforts in those areas.
2. Contest Overview
In this contest, we are looking for you to design the final specification for complete EPA Android App. There are a series of modules that have already been developed and many more to complete. We want you to use all the available information architecture in form of wireframes, storyboards and conceptualization document in designing this specification. We will provide access to the prototype and front-end that have been already developed. We will also provide you component specification for a component that we are planning to embed into the backend. Finally, we will provide you with the system design specification and system architecture details which were obtained in a recently completed system architecture contest.
- Asking questions early and getting feedback is very important for the success of this competition.
- Ask questions if you feel anything is confusing, or if you have any questions on the provided resources.
Given the conceptualization document, wireframes and system architecture in addition to the other resources, produce an Application Requirement Specification for the EPA Android App.
3. Data Details
We have two types of input data:
- Image Data : GeoTiff images which has geo-encoded information
- Text Data: Excel files containing data.
The data is in very large amounts. The images will always be GeoTiff. The data management module will have the component which will read all this data and convert into single canonical structure. The component specification will provide information about this process.
4. Technology Overview
The working environment requirement details for this application are outlined in the System Design Specification. An overview of the environment requirements is listed below:
1. The Android App front-end has been developed for Android 4.1-4.4 support using android developer tools. It also uses Google Maps Android API v2, AChartEngine 1.1.0 and ProgressWheel.
2. The Data Standardization component (to be embedded in data management module) is being developed in Java.
3. The Admin Website is a CMS developed using Django framework 1.6.1, Python 2.7x and PIL 1.1.7.
4. We are open to use of any technology for the back-end and data management module as far as it does not limit any specific OS requirements.
5. We plan to host the back-end and data management module along with the admin website on a single (same) server - ex. Amazon EC2 Server.
6. Open source software resources are welcome, but they must have third party support services available.
7. Image data is being read using gdal Library.
5. Resources Provided
The following resources have been provided in the forums. You will be able to access it after registration:
1.) Conceptualization Document
2.) EPA Android App Wireframes
3.) EPA Android Website Wireframes
4.) EPA Android App Storyboards
5.) EPA Android App Front-End Prototype. (Android)
6.) EPA Android Admin Website Prototype. (Python + Django)
7.) EPA Android App Data Standardization Component Specification. (Java)
8.) System Design Specification
9.) System architecture TCUML
Final Submission Guidelines
Your submision will consist a single zip containing:
- Application Requirement Specification (ARS)
- Activity Diagrams
- Use Case Diagrams
Please ask questions in forums when in doubt or refer here: http://apps.topcoder.com/wiki/display/tc/Specification+Submission+Instructions