Coding Challenge 6.0 — Spring 2020


Use the latest HTML5 technology to build a small web application that solves the following problem.


The Challenge

Create an interactive data visualization app in the form of a web application for a dataset containing demographic statistics of New York City's zip codes.


Official Contest Rules and Detailed Specifications

Please read the Official Rules and Specifications document at http://rde.org/CodingChallenge/2020spring/Rules.pdf.

Before submitting your entry, make sure you follow all of the requirements in the Official Rules and Specifications, or your entry will be disqualified.

Using a server-side database is optional for this project. Design the application's architecture however you like!

Click here for the Official Entry Form


How do we solve this?

Create a web application with a user interface that presents the dataset provided in an interactive, easy-to-understand way.

Data

The primary dataset for this project is New York City's "Demographic Statistic by Zip Code" dataset, which can be downloaded in various forms from the following location:

https://catalog.data.gov/dataset/demographic-statistics-by-zip-code-acfc9

If a list of zip codes and their latitude and longitude is needed for geocoding, the following dataset may be used. You may, of course, use a different source for this data if you wish.

https://public.opendatasoft.com/explore/dataset/us-zip-code-latitude-and-longitude/information/

For this project, server-side programming languages and a server-side database are optional.

Map Screen

You may use any free geocoding/mapping service you wish, e.g., Google Maps.

You may use Chart.js, Rgraph, or Flotr2 to create charts and graphs to visually represent the demographic information from the primary dataset.

Presentation Screen

The main page (landing page/index page) for this web application will be a map of New York City, with each of the zip codes labeled on the map, in such a way that the user can click on a map location or a flag/pointer on the map, and from there, navigate to the demographic charts screen for that zip code.

In addition to the map, there should be a function on the map screen allowing the user to type in a zip code and search for it, providing an alternate way to get to the demographic charts screen without using the map.

Demographic Chart Screen

This screen should display a set of charts based on the demographic data for a single zip code. Do your best to design a sensible, user-friendly page to chart and graph the data available.


Requirements


  1. Permissible HTML5 / JS Chart Libraries. Submissions must use one of the following free and open-source client-side charting libraries in order to render graphs:
  2. Permissible Languages. Using a server-side programming language is optional. Submissions that use server-side processing must be coded using one of the following server-side languages:
    • PHP
    • Node.js
    • ColdFusion (CFML)
    • Python

  3. Permissible Databases. Using a server-side database is optional. Submissions that use a server-side database must use one of the following database systems to store data:
    • MySQL
    • Microsoft SQL Server (Express Edition)
    • MongoDB

  4. Submissions may not utilize browser plugins. Submissions utilizing browser plugins will be disqualified. For more information, please see the detailed specifications and rules.
  5. Submissions must be the work of a single individual. Submissions which represent the work of more than one individual, or which are submitted by a single individual on behalf of a team of two or more, will be disqualified.

  6. Submissions must be received by the deadline. March 15, 2020 at 23:59:59 EST (11:59:59 PM EST). Submissions for which the upload is not complete by March 15, 2020 at 23:59:59 EST (11:59:59 PM EST) (or in the case of submissions which are made via US postal mail, which have not been received by March 15, 2020 at 23:59:59 EST (11:59:59 PM EST)), will be disqualified.

Questions and Answers

When we receive questions about the contest, we'll answer them on the Questions and Answers page (click here).


Sign Up for a Reminder

To sign up for contest reminders, and to indicate your interest in an internship with RDE, fill out the form below. We will send you reminders until the contest deadline on March 15, 2020.

We will not take you answer on this Reminder Form into account when judging contest entries.
* Internship
* I cannot participate in
this challenge because

By submitting this form, you are requesting us to send you email Reminders about the Contest. Submitting this form does not enter you into the Contest, and it is not a requirement for contest entry. We plan to post the official Contest Rules and Detailed Specifications on this website on 02/13/2020. Before entering this contest, please read the official Contest Rules to determine whether you are eligible to enter the contest.


Completed Contests

Prizes

0th place / grand prize$500
1st place$200
2nd place$100

Prizes will be in the form of an Amazon.com gift card.
All contestants will be considered for an RDE Internship.

Schedule

Details of the challenge will be provided at the info session at NJIT, although you do not need to attend the info session to enter.

Date: Wednesday Feb. 12, 2020
Time: 4pm - 5:30pm
Location: NJIT campus, GITC 3700.

February 13, 2020
Detailed Specifications Release and Contest Start

March 15, 2020
Submission Deadline

Why is RDE sponsoring this?

RDE wants to get to know programmers who naturally enjoy a good challenge and like to go above-and-beyond in all that they do. This is a good opportunity for great programmers to get to know RDE and why we're special.

Click here to learn about our special partnership with NJIT.


Flyer

Coding Challenge Flyer