Question 1: A principled assessment of your C2 design
For at least three of the five SOLID design principles, describe pieces of code that either adhere to the principle or violate the principle. Your descriptions must include links to the code you are describing.
Question 2: Defining requirements to extend the frontend
Individually, create at least 3 user stories that extend the functionality of your team's chosen frontend from the C3 specification (to be published Tues Mar 11) and link to them from your journal.
Each user story must be non-trivial and meaningfully contribute to the functionality of your frontend. We encourage you to discuss and coordinate your stories with your teammates since you will implement all of your team's user stories together during C3, and demo them for your TA in your video submission. The user stories you create form a contract about what you will implement in C3. Any changes to the user stories after submitting this journal must be negotiated with your TA; carefully consider the feasibility of your user stories by following the guidelines below.
User Story Guidelines
Follow the Role-Goal-Benefit format with a clear Definition of Done that satisfies all of the INVEST principles. Ensure the story is detailed enough that another programmer, who is familiar with your codebase, could implement it directly from the description.
Identify the engineering tasks that are needed in order to implement the story in your project and include them as todo items within the issue. You may also choose to create separate sub-issues for these if it helps you decompose your tasks more easily.
Estimate how many hours the story will take to implement and set a realistic due date.
Post the user story as a GitHub Issue on your team's project repository.
Question 3: Designing your frontend user experience
Individually, create a storyboard that demonstrates how users will interact with your frontend to achieve at least one of your user stories. Complete the six panels of the storyboard template and embed it in your journal. This video provides a brief introduction storyboarding. It may also be helpful to discuss your storyboard with your team to identify any challenges with the design: as with the user stories, any effort that you put into the design now will will pay off big when it comes time to write the code.