Image Infection - Final Project Presentation

Due Date: Completed and turned in via git before December 12, 2023 at 7:00pm
Points: Week 4 is worth 140 points


In the final days before the presentation on Tuesday December 12 at 7:00pm in 1404 you should wrap up work and test it to be ready for the run.

Part 1: Full Implementation

You should verify that your Tile server compleatly implments the whole API specification and has an interface where a human can control all the tasks specificied. This should be able to pass tests on the certification server the include the following.

  • Register the tile server using registerClient

  • Register an image for your tile server including detecting approval and selecting a new image to use

  • Place your vote for a tile using your tile server and a UI to control what tile to vote for

  • Support PUT and GET votes

  • Support the uppdate function including handling updating your state when you lose the vote

  • Support GET image

  • Support GET tile

Part 2: Certification

To certify you will need to connect to using your tile server. At that point you can look at<clientID> with your netid to see your status.

At this point before you do anything else you must register an image with the certification server as you would for a canvas server and get it approved.

You can select tests to run using The tests you can are are as follows.

  • testvotes This will tell the tile to vote for and you must vote for that tile.

  • testgetvotes This will test both PUT and GET by setting your votes and gettting them.

  • testgetimage This will test being able to get the image you have registerd.

  • testgettile This will test if the crop of the image you have matches.

  • testupdate This call update on you with a set of neighbors that includes one that has more votes than you. It will then check you update to the correct image and tile.

You can restart your certification by using<clientID>. This will both clear your state and grade so if you do this you will have run all tests again before you are certified.

To be certified you must pass all these tests. If you are certified you will be able to tell from the certified filed of the json at `'.

Part 3: Attend the Final Exam Project Session

On Tuesday, December 12 at 7pm in 1404 SC, we will begin the final exam project session. You MUST have a fully implemented tile server and a number of images ready to use.

At this session, we will:

  1. Spend the first bit doing final certification of your tile servers. You will need to pass all tests on the certification server and then present to one of course staff your interfce to accoplish the following with out editing your code.

    • selecet an image and submit it for registration using your tile server front end

    • select a tile and have your tile server vote for it using your tile server front end

    • see the status of your tile server at least including if you image was approved and your tile location

  2. Register your tile server and image with the production server

  3. Then work together with everyone to select our class image.

Tile Server Testing Sessions

I am hosting daily testing sessions to test your tile servers. These sessions will allow you to connect your tile server to the certification server and ensure everything is working correctly and you are ready for the final exam.

I HIGHLY RECOMMEND YOU COME TO AT LEAST ONE! If possible, if as many people as possible can attend the Monday session, it’s going to be a massive stress test with as many users as possible.

Here’s the full schedule:

  1. Saturday, December 9 at 1:00pm 1131 SC
  2. Sunday, December 10 at 3:00pm 1131 SC
  3. Monday, December 11 at 4:00pm 1131 SC


Make sure all source code is committed before the exam session in case we need to look back on it.


The remaining points for the project are all associated with the final exam session. You will earn points for certifcation and participating in the run.

  • The points you recived for the first two weeks
    • You can make back 90% of the points you missed in the first two weeks by passing the related tests
  • 100 points: Fully certify your tile server
  • 40 points: Participating in the full run and voting