Summative Skills Demonstration
For this assignment, you will create a video in which you will demonstrate your mastery of basic Rails web development skills and of the Git- and GitHub-based collaborative development workflow taught in the course.
Partner. To create your videos, you must find another student in the course to serve as your partner (hereafter referred to as “Partner”). Partner will receive 1 A&B point for serving as your partner. Students may earn up to a maximum of 2 A&B points for serving as partners for other students. The steps that Partner performs will not be video recorded. The video will show things only from your perspective. You and Partner may communicate via a text chat (e.g., in Discord) in the video.
Before Recording the Video
Before you begin recording, you must set up a Rails project in GitHub, so you can collaborate with Partner. In particular, you must perform the following steps:
- Download this Rails project, and unzip it in your workspace folder.
- Initialize the project and run it once. You should see that the app is for a company that makes giant shark heads.
- Create a local Git repo for the project, and commit everything to the repo.
- Create a private GitHub repo with your GitHub account as “Owner”.
- Push the local repo to the GitHub remote repo (as per the instructions on the GitHub repo page).
- Add your partner as a collaborator with write permissions in GitHub. (If you’re not sure how to do this, see this GitHub docs page.)
- Create two GitHub issues as detailed below.
- First Issue:
- Title: Learn about company’s team
- Comment:
- Task Description: Create a “team” page that lists the team members. This will involve adding a route for the page, adding a controller action to the
PagesController
class, adding a view template, and updating the navbar link to the page.
- How to Evaluation: Launch the app, and click the “Our Team” link in the navbar. The team page should open. It should have a heading “Our Team” followed by a bullet list that includes the name of You and the name of Partner.
- Assignees: You
- Labels: enhancement
- Second Issue:
- Title: Learn about company’s history
- Comment:
- Task Description: Create a “history” page that gives a brief sketch of the company’s history. This will involve adding a route for the page, adding a controller action to the
PagesController
class, adding a view template, and updating the navbar link to the page.
- How to Evaluation: Launch the app, and click the “Our History” link in the navbar. The history page should open. It should have a heading “Our History” followed by a paragraph that says, “Shark Heads was founded in 2020 in Gulf Shores, Alabama.”
- Assignees: Partner
- Labels: enhancement
Once you have completed the above steps, Partner must clone the repo, initialize it, and run it.
Recording the Video
The video you will create for this assignment will be very similar to the explanation videos you created previously. In particular, as you perform the tasks described below, you must speak aloud as you work—that is, you must talk continuously, describing what you’re doing and why you’re doing it.
Tasks
Here the tasks that you must record yourself performing:
- At the very start of your recording, briefly show that the issues have been created, that you have the code in a working directory, that you are on the
main
branch, and that the app runs.
- Next, you and Partner must each complete a Rails development task following the project workflow, with the following constraints:
- You must perform the task described in the first issue above, and Partner must perform the task described in the second issue.
- You must review and merge Partner’s pull request first.
By the end, both issues should be closed and both pull requests should be closed and merged into main.
Additional Requirements
- Max Video Length: 15 minutes
- Be sure to run your own code to make sure it works.
- When reviewing Partner’s code, be sure to run it on your machine to verify that it works.
- Your video should include you having to resolve a merge conflict (i.e., because both you and Partner will be making changes to the
routes.md
script and the PagesController
class).
Submitting Your Video
To submit your video, follow these steps:
-
Upload to YouTube. Upload your video to YouTube, and set its visibility to “unlisted”. Be aware that YouTube accepts only certain video formats (although they’re generally the most common ones), so you’ll want to make sure your recording has a compatible encoding.
-
Submit Video URL and Partner’s Name via Dropbox. Paste the YouTube URL of the video and enter Partner’s name into the appropriate eCourseware dropbox.