Required Demos-n-Deets demos:
Optional demos (for now): Everything else in the “Authentication” section of the Demos-n-Deets.
Follow the general instructions for active reading for the above required demos.
What to submit:
before_action declaration.before_action declaration.app/views/quizzes/index.html.erb view template.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.)
Before proceeding, be sure to read the general description and instructions for the practice tests.
Start with the base project on the freebay branch of this repo: https://github.com/memphis-cs/practice-apps-2022-08fall
The aim of this project is enable users to post listings for free stuff that they want to give away. The project already includes a Listing model class, as per this class diagram:
Along with this model class, the app includes the standard resource-CRUDing pages and UI features for Listing model 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 firsthand what’s there.
Task to perform:
User model class.User.create!, so the system can be seeded with some users.ListingsController action, except for the index and show actions.User and Listing classes to establish ownership links between users and the listings they create, as per this class diagram:create action of the ListingsController such that it adds the new Listing object to the collection of listings created by the current user.Listing objects belong to the appropriate User objects (as per the comments).Listing object in order to access the following ListingsController actions for that object: new, create, edit, update, and destroy.Listing show page, display the email of the User who was the “Lister” along with the other Listing attribute values.What to submit:
ListingsController class file.app/views/layouts/application.html.erb file.app/views/listings/index.html.erb file.User model class.Listing model class.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.)
Before proceeding, be sure to read the general instructions for the explanation videos.
Important! For this explanation video, you must follow the task plan and reflection instructions.
Start with the base project on the blogr branch of this repo: https://github.com/memphis-cs/practice-apps-2022-08fall
This project contains the start of a blogging app. It already includes a BlogPost model class, as per this class diagram:
Along with this model class, the app includes the standard resource-CRUDing pages and UI features for BlogPost model 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 firsthand what’s there.
The video can begin after you have cloned, initialized, and run the base app.
This time, you will actually be making two video, because the tasks are longer than usual. Although it may not be your first thought, making a mistake during a video that causes you to have to restart and redo tasks is actually great practice, and thus, is great for skills acquisition. That said, doing this piece as two videos could potentially save you from having to aaaaaall the way back to the beginning if you make a mistake near the end.
Task to perform:
User model class.User.create!, so the system can be seeded with the users mentioned (Homer, Bart, and Lisa).BlogPostsController action, except for the index and show actions.Task to perform:
User and BlogPost classes to establish ownership links between users and the blog posts they create, as per this class diagram:create action of the BlogPostsController such that it adds the new BlogPost object to the collection of posts authored by the current user.BlogPost objects belong to the appropriate User objects (as per the comments).BlogPost object in order to access the following BlogPostsController actions for that object: edit, update, and destroy.BlogPost index and show pages, replace the “TODO_AUTHOR” text with email of the User object whom the BlogPost belongs to.