CSE 135: Server-Side Web Languages

Summer 2016 | University of California, San Diego CSE Department

Homework #3 - CRUD Box Office Tracker

This homework presents an opportunity to explore a common style of Web application called a CRUD application potentially in a few different ways depending on our skill and experience level. Students should note the homework is not meant to present production caliber thinking given the shortness of available time.

We will build a simple CRUD application called "Box Office Tracker" which we will use to store information about box office totals for various movies that might interest you. Data you might use can be found numerous places online include http://www.boxofficemojo.com/alltime/world/. You should be able to store in your database the following information:

  • Movie Title
  • Studio
  • Year
  • Box Office $
  • Poster or Picture

Your application must:

  • Use HTML5 valid markup
  • Use Twitter Bootstrap or your own CSS
  • Use JavaScript or jQuery if appropriate (no Angular or React)
  • Use PHP or NodeJS (Express or Plain)
  • Use mySQL
  • Be hosted on your public facing server
  • Provide a list view of the data
  • Support pagination on the list view (5,10,20,all)
  • Sort the columns by clicking headers (single column sort, poster column is excluded from sort)
  • Have an add record feature to submit new data
  • Validate data sent for addition (server and optionally client-side)
  • Have an edit record feature to modify data
  • Validate data that is updated (server and optionally client-side)
  • Provide a delete mechanism with a confirmation dialog to avoid accidental deletions

Your application may:

  • Provide a server-side only version with server-rendered templates
  • Provide a JavaScript/SPA style application with client renderings
  • Provide a robust works both with and without JavaScript solution

Your application should:

  • Be written with performance in mind
  • Be written with security in mind
  • Attempt to separate concerns and exhibit solid programming style

If you have taken CSE134 it is expected you do the JavaScript and/or Robust version, if you have not taken 134 you may attempt the other form but the server-side solution should be your first priority of focus.


Back to CSE135

Grading

  • 10pts for list view (4 for core, 1 for image, 1 for sort, 3 for pagination, 2 for style
  • 5pts for add record
  • 5pts for update record
  • 5pts for delete record
  • 5pts for data validation
  • 5pts for database organization and set-up
  • 5pts for code quality and organization
  • 5pts for visual execution markup and CSS
  • 5pts for Readme and discussion explaining app

Total: 50pts

Please indicate that you are done to the TA via e-mail by 11:59 PM 8/31. Your code should be in your repo at that time.