TCO Megahack - Node.js Backend + API Integration








    The challenge is finished.
    Show Deadlinesicon-arrow-up

    Challenge Overview

    The objective of the Megahack is simple, the development of a search portal that allows users to perform a search against pending EPA laws and regulations based on search criteria that aren’t available today, and see if and how it is related to Clean Air Act enforcement as well as show linkages from the laws or regulations to programs that might be related.

    Contest Objective
    ---Build a Nodejs server and integrate with the regulations.gov API (http://regulationsgov.github.io/developers/)
    ---Interact with the XML parser to retrieve information from the LRS files
    ---Use the EPA FACILITY REGISTRY SERVICE to retrieve geographical information about facilities

    ---Nodejs 6.x should be used
    ---Use the API definition found here

    Contestants will need to fetch a regulations.gov api key.  Just go here: https://api.data.gov/signup/. The interactive API is a good starting point to understand the Regulations.gov API.

    For the purpose of this challenge the following assumptions/constraints on Regulations.gov data should be used:
    ---Document Agency (a=EPA): The app will focus on only EPA documents
    ---Document Subtype (docst=Notice%2Bof%2BProposed%2BRulemaking%2B(NPRM)): The app will focus only on Notice of Proposed Rulemaking
    ---Document type (dct=PR): Proposed Rule
    ---Docket Type (dkt=R): Rulemaking
    ---Use pagination (rpp=10&po=p), where p is the page offset. The page offset for page X is [X-1 * results per page]
    ---Comment Period: The app will focus on only those rules that are Open for comments (cp=O)

    The XML parser should be used to retrieve NAICS information and find the Clean Air Act related to the regulation. To match program name and facilities use the FRS API (https://www.epa.gov/enviro/frs-rest-services#get_facilities Service Specifications). For more information see the contest documents.

    When retrieving details, the HTML file found in the URL in the fileFormats property should be parsed to get Summary, Addresses, Contact Information and Supplementary Information.

    Follow the architecture document for further requirements, specially logging and memory cache.

    Reference Documents
    ---Will be posted in the contest forum.

    Final Submission Guidelines

    ---Use the Starter Pack for the development of the backend server. Remove any unused code
    ---A zip file with all the needed files to run the server
    ---Deployment and Usage instruction should be included in the README.md file


    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.


    2017 TopCoder(R) Open


    Final Review:

    Community Review Board


    User Sign-Off


    Review Scorecard