The idea was to present data available to the public in an easy-to-view GUI, capable of being used at any time as needed via a web application service.

Using publicly available Open Data from New York, the center of focus fell on health-related inspections and violations of all NYC restaurants, in all of the major boroughs. As opposed to user-inputted data provided by Yelp and other ratings web applications, the Restaurant Inspector focused on providing clear, useful, and objective data to any user who wishes to know the history of their favorite restaurant (or one they've never visited!).

There are three major technologies which bring this application to life. From the back end, SQLite3 was the chosen database, as it is a very lightweight application which can do the most basic of SQL commands. Although it lacks the robust capabilities of its competition like Oracle, it serves the purpose of being a quick and easy implementation with the chosen framework: Django.

Python is a very powerful language with an extensive library, making it ideal for big data handling and JSON parsing. Coupling this with HTML and JS, the front end of our application comes to life through smooth data handoffs from SQL to JSON to HTML. This allows easy integration with the Google Maps API, which can add our pins to the map with which the user interacts.

Conceptually, there are two flavors to the Restaurant Inspection application. On its initiation, the application places all of the pins available from the database onto the map, which a latest flavor. This allows the user to hover over any pin and receive basic information instantaneously; latest inspection date, results of inspection, number of violations, and grade are all available right off the bat for each restaurant accounted for in NYC. The second flavor is a historical partition of data, which is envoked when an user clicks on the restaurant he/she is interested in visiting. This data access method provides historical inspection data for the particular restaurant, aggregating all the violations received per inspection.

If we could expand on this after the codefest, we would certainly integrate an Oracle DB to replace the inefficient SQLite3. We would also fine tune our project, allow for user input, and maintain the DB using a Job Scheduler (like Autosys) which would get daily CSV files from the Open Data url.

Share this project: