For our final project checkpoint, MP3, we’ll add a course rating feature to our app. Like MP2, this will involve changes to our server, client, and app UI.
Also like MP2, MP3 is a step up in difficulty. We’ll provide you with a bit of the information you need to get started and guide you through the test suites. But completing the code for MP3 is up to you.
To begin, let’s view a demo of our finished project!
For MP3 we’ll be completing the project you’ve been working on previously. You’ll need the environment that you set up during that checkpoint to proceed, and you’ll need to have completed MP2.
Before you can get to work on MP3 we need to install the MP3 test suites. Before we continue, please commit your work. You should make sure to commit both immediately before and immediately after we install the MP3 test suites. (If there are no changes to commit beforehand, that’s fine.)
You’ll receive the MP3 Java test suites via email.
Move the file to the app/src/test/java/edu/illinois/cs/cs124/ay2023/mp/test/
directory in your machine project.
You’ll also want to reconfigure grade.yaml
in the root directory of your project to request that we grade Checkpoint 3.
Just like MP2, there’ll also be a few compilation errors to fix as well.
Let’s look at how to do these things together:
Note that you will also need to provide a getSummary
method for the summary
field on your Rating
class.
/rating/
/rating/
To start, let’s briefly overview how to approach an initial pass on GET /rating/
support in your server and client.
Since this is quite similar to what you added for MP2, we won’t linger here.
/rating/
/rating/
Next we’ll discuss the HTTP POST request, how it differs from GET, and provide some guidance on how to set up your server support for POST.
To finish up, we’ll outline how to approach the rest of MP3.
A few additional notes:
POST
request you should set the body content type to "application/json; charset=utf-8"
./reset/
route by clearing all saved course ratings. Failing to do this will cause tests to fail mysteriously.MainActivity
connects to the SearchView
UI component for ideas about how to respond to changes to the RatingBar
As a reminder, on lessons where we focus on the machine project we will not assign a homework problem! However, the lesson will usually focus on helping you complete a particular part of the MP test suite, and so we encourage you to spend time on that in lieu of a homework problem.
Right now your goal should be to
If you get stuck, find us for help on the tutoring site or forum.