Coding Challenge 4.0 — Fall 2017


Winners!

The Fall 2017 RDE Coding Challenge 4.0 is over. Thanks to everyone who submitted an entry.

Congratulations to our winners!

  • [0th place / Grand Prize] Palash Sanjay
  • [1st place] Arjun Seshadrinathan
  • [2nd place] Vasanth Kesavan

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


The Challenge

Create a web application which will allow its users to navigate through a library of books and choose one to open and start reading. The book library should be easy to navigate through and the textual content of the books displayed with readability in mind.


Official Contest Rules and Detailed Specifications

Please read the Official Rules and Specifications document at http://rde.org/CodingChallenge/2017Fall/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.


How do we solve this?

Multiple plain-text files will be provided to you, sourced from the Open-Licensed books of the Project Gutenberg library. These text-files will be stored as-is on your web application server then processed and displayed when they are selected for reading.

Data

Each book will have a database entry with its title, author's name, and the path to the respective plain-text file. Additional data about each book might be stored at your discretion.

The books' plain-text files are available for you to download in a ZIP file. You will need to download the zipped archive and extract its content inside a folder of your web application server. http://rde.org/codingchallenge/2017Fall/Books.zip

Library Screen

The library screen will display a list books available in the application, the books which are contained in the archive provided above. The data stored about each book will be read from the database and displayed on screen; the list should contain, at a minimum, the title of each book, and the name of their author. The user will be able to select a book and open it for reading.

Reading Screen

When a book is selected for reading, the plain-text file, hosted on the application's web server, will be partially displayed on the screen and broken into pages consisting of 50-75 lines each. In order to progress through the chosen book, a pair of buttons will be displayed to move forward and backward through pages. In addition, there will be an indicator for which page the user is currently reading as well as the total number of pages.


Requirements


  1. Permissible Languages. Submissions must be coded using one of the following server-side languages:
    • PHP
    • Node.js
    • ColdFusion (CFML)
    • Python

  2. Permissible Databases. Submissions must use one of the following database systems to store data:
    • MySQL
    • Microsoft SQL Server (Express Edition)
    • NoSQL

  3. Submissions may not utilize browser plugins. Submissions utilizing browser plugins will be disqualified. For more information, please see the detailed specifications and rules.

  4. 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.

  5. Submissions must be received by the deadline. , November 28, 2017 at 23:59:59 EST (11:59:59 PM EST). Submissions for which the upload is not complete by November 28, 2017 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 November 28, 2017 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).


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

November 8, 2017
Detailed Specifications Release and Contest Start

November 28, 2017
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