The challenge is finished.
    Show Deadlinesicon-arrow-up

    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 system architecture 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 system architecture. We will also provide access to the prototype and front-end that have been already developed. Finally, we will also provide you component design for a component that we are planning to embed into the backend. We will require integration plans for all the currently available and new modules that will be developed after this contest.

    enlightened Tips for Sucess:
    • 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.


    We have four major modules in this Android App and following are the short description for each of them:

    1.) EPA Android App Front-End: This module has already been developed using Prototype Assembly. We have the prototype available which has all the dummy data and charts available. The architecture must cover the necessary data flow that will be sent to this front-end from the back-end. This module has very heavy UI and very less computation. This is the presentation layer of the App.

    2.) EPA Android App Back-End: This module will house all the back-end operations of the app. We envision it to be hosted on a server like Amazon EC2. The backed will contain a computation-intensive prediction algorithm which is going to be developed using Marathon match. The details of algorithm will not be available for this contest. The module will also be responsible for aggregation analysis to be done using the available data which will be sent to this module from the data management module explained next. This module will have very heavy computation, complete automation and very less data computation.

    3.) EPA Android App Data Management Module: This module will be responsible for doing all the data-processing tasks. There is a lot of data available in different formats - mostly geo-spatial data and hence it is required to be preprocessed before wither sending it to front-end or sending to the above back-end module for algorithm analysis. All the validation, conversion and standardization of data will be done in this module. In addition to other tasks, this module will also contain a component that will be used for data standardization. We are in development process for this component but we will provide design document of the component.

    4.) EPA Android App Admin Website: This is a front-end module for the admins of EPA. This module will be used for uploading all the data and reviewing the results of all analysis that happens in backend. This module is envisioned to interact with data management module by passing data to it. We have a functional prototype website already developed for this module which currently uses dummy data. We will need integration plans for this website too along with above three modules.

    Please Note: We need one addition to the above admin website module. Currently the website just allows us to upload data from the front-end interface. We also want it to have the ability to take url address (which will essentially be a repository address) as input and then fetch data and transfer directly to data management module without any human intervention. Please make sure to capture this in your architecture.


    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 design document will provide information about this process.

    4. Technology Overview

    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.

    Please Note: The developers are not allowed to use any TC component during their development. Please make sure to design your architecture so as to avoid any use of components available in TC catalog.


    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

    6.) EPA Android Website Prototype.

    7.) EPA Android App Data Standardization Design Document.

    Final Submission Guidelines

    We want you to submit the following deliverables:


    Please Note: For Section 508 compliance, this contest must follow the accessibility rules provided here:  http://developer.android.com/guide/topics/ui/accessibility/index.html

    Reliability Rating and Bonus

    For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
    Read more.


    2014 TopCoder(R) Open


    Final Review:

    Community Review Board


    User Sign-Off