Skills Assignment SA5: Model Associations

Required Demos-n-Deets demos:

Optional demos (for now): Everything else in the “Model Associations” section of the Demos-n-Deets.

Active Reading

Follow the general instructions for active reading for the above required demos.

What to submit:

In the above screenshots, code which is too long to be captured in one screenshot may be split up into multiple screenshots.

Important! All screenshots must include your computer’s desktop in the background so that it is recognizable as your desktop. Also, all screenshots of web pages must display the entire URL of the page in the browser’s location bar. (Watch out, as some browsers like to hide parts of the URL unless you click on it.)

Practice Test

Before proceeding, be sure to read the general description and instructions for the practice tests.

Start with the base project on the album-db branch of this repo: https://github.com/memphis-cs/practice-apps-2023-08fall

The aim of this project is enable users to manage a database of music albums. The project already includes an Album model class and a Track model class, as per this class diagram:

Class diagram of Album and Track classes

Along with these model classes, the app includes the standard resource-CRUDing pages and UI features for Album model objects (but not for Track objects). It also includes model validations and database seeds. (You can ignore the test fixtures and model tests for this assignment.) It is recommended that you initialize and run the base app at this point, so you can see what’s there.

Task to perform:

Class diagram of Album and Track classes with a one-to-many association between them

What to submit:

In the above screenshots, code which is too long to be captured in one screenshot may be split up into multiple screenshots.

Important! All screenshots must include your computer’s desktop in the background so that it is recognizable as your desktop. Also, all screenshots of web pages must display the entire URL of the page in the browser’s location bar. (Watch out, as some browsers like to hide parts of the URL unless you click on it.)

Explanation Video

Before proceeding, be sure to read the general instructions for the explanation videos.

Start with the base project on the basketball-roster-editor branch of this repo: https://github.com/memphis-cs/practice-apps-2023-08fall

The aim of this project is enable users to create and edit basketball team rosters. The project already includes a Team model class and a Player model class, as per this class diagram:

Class diagram of Team and Player classes

Along with these model classes, the app includes the standard resource-CRUDing pages and UI features for Team model objects (but not for Player objects). It also includes model validations and database seeds. (You can ignore the test fixtures and model tests for this assignment.) It is recommended that you initialize and run the base app at this point, so you can see what’s there.

The video can begin after you have cloned, initialized, and run the base app.

Task to perform:

Class diagram of Team and Player classes with a one-to-many association between them

In the video, be sure to use all features that you create, so that it’s clear that they work. Don’t forget to enter invalid data into the forms.