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 proliferation 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
Welcome to fourth assembly in the series of five EPA Android App Assembly Contests.
In this contest, we are looking for you to develop the module assembly for front-end module of the system of EPA Android App. We want you to use all the available information architecture in system architecture and application requirements specification to develop this module architecture. The EPA Android App system has four modules:
1.) Admin Website Module
2.) Data Management Module
3.) Back-End Module
4.) Front-End Module
We have concluded the architecture contests of all the four modules and we have recently run a contest to sync all the architectures so that they are compatible to each other. On the development end, we have already completed the first two modules - admin website and data management module and we recently updated them based on the new architectures.
In this contest, we want you to develop the critical part of the system - Front-end module.We already have front-end prototype developed very early in the project. You can stil use many of its front-end features but please refer to front-end architecture to incorporate all latest updates and implement various features.
Following is the description for each of functionality of Android App front-end module:
EPA Android App Front-End Module: This module will be responsible for doing all the front-end operations. This module will not be computationally intensive but will require great UI and network performance consciousness. Please make sure to implement this in a way that provided very smooth interactions for the end-user.
- The front-end will interact only with back-end. There are other two modules on the server - data management and admin - but they do not interact directly with front-end.
- Please implement all the graphs and chart functions.
- Front-end is same for all users and both general and admin users will be able to see same set of screens and will be able to access all features of the app.
- The front-end module will receive prediction results and aggregate analysis results and it will be displayed in the device in both textual and graphical manner as shown in prototype.
3. Technology Overview
- J2SE 1.6
- Android 4.0
- Jackson JSON 1.9.3
- Google Maps Android API v2
- AChartEngine 1.1.0
Please note that the developers are not allowed to use any component from TC Catalog for this contest.
4. Notes on assembly and statistical analysis
The front-end architecture folder contains assembly specifications which provides details on statistical analysis extensively. Please refer to it thoroughly and follow it.
5. Resources Provided
The following resources have been provided in the forums. You will be able to access it after registration:
1.) Module Architectures of all four modules
2) System Design Specification and System Architecture TCUML
3.) Application Requirements Specification and Use Case TCUML
4.) EPA Android App front-end prototype