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.
---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.
---Will be posted in the contest forum.