For this homework, do the following.

  1. Integrate code from your solutions to homework 2 and labs 7–9 to build an app that pulls games from the Monopoly data services, gives details on those games, and allows the user to delete a game, both locally (in the app) and on the data service. See an example in the image to the right. Do this as follows.

    These upgrades are rather complicated, so try asking Copilot to add the each feature and then to explain what it did. As usual, don’t accept just anything.

    Do all of this in a homework3/games-app/ sub-directory. When you have the app running on your device, save a screen shot of your game details screen for one of the games (homework3/screenshot.png), and add a new readme file (homework2/README.md) that answers the following questions.

    1. Web service
      1. In the lab, you forked your service repo rather than simply cloning it. Was this appropriate? Why or why not?
      2. Which of the endpoints implement actions that are idempotent? nullipotent?
      3. Is the service RESTful? If not, why not? If so, what key features make it RESTful.
      4. Is there any evidence in your implementation of an impedance mismatch?
    2. Client
      1. Would it be better to access the database using monopolyDirect.ts (simpler) rather than using this Web service (more complex)? Why or why not?
      2. You implemented deleteGame and fetchPlayers using useCallBack. What good does this do?
    3. How effectively did Copilot work for you on this assignment? Include examples of things that it did correctly and/or incorrectly.
  2. Review the sprint 3 and presentation deliverables from the other team you are reviewing (see project deliverables #3 & #4) and consider the following.

    1. Do their project management materials show the appropriate amount of activity?
    2. Is their database schema well-formulated?
    3. Has there been an appropriate amount of code pushed into their client and server repos? Can you run the prototype and/or the database?
    4. Was their design presentation effective? What worked? What didn’t work? How would you rate their presentation relative to the others?

    Post your review to their Slack #stakeholders channel and be prepared to explain your review to them during their team meeting in lab 11.

  3. Review your teammates with respect to the same aspects of their work on your team as you as you have done before. Include this in a new tab named homework3 added to the spreadsheet you submitted for homeworks 1 & 2. Remember to download “All sheets”.

Checking in

We will grade your work according to the following criteria:

To give you time to attend and assess your stakeholder team’s presentation, we will extend the deadline for this homework assignment until Monday.