Most deliverables are final, consistent updates of what was initiated for the previous project part.
Deliverables
[x] Addressing feedback:
Address any TA feedback on the previous project part.
[x] Make the demonstration better.
[x] Improve the relative quality.
[x] Make sure that no test cases fail. (More important than having test cases that cover everything).
[x] Code Base of Prototype:
Your source code will be inspected. The code should conform to Java coding conventions. Maintain the source code in your source repository.
[x] Code Documentation:
For each source file, you should have a brief introductory comment describing its purpose or role within the application or a design pattern, as well as any currently outstanding issues. Provide Javadoc interface documentation for your model classes and their public methods (at least).
[x] Test Cases:
Write runnable tests for your model and control classes. Provide intent tests for the requirements you have done. Deliver the test code to your source repository. If you have test data files, also include those. Test data should be realistic.
[x] Object-Oriented Design:
Update your object-oriented design using a UML class diagram (or diagrams), including details on key attributes and methods. Add notes as appropriate to clarify. Include notes on the use of design patterns among the classes.
[x] Product Backlog:
Update the requirements as appropriate. Note which user stories are done at this checkpoint.
[x] User Interface Mockups and Storyboards:
Update these diagrams as appropriate.
[x] Sprint Planning and Reviews:
Maintain a record of what user stories are planned for each weekly sprint at its start, including who is to work on them. For each intermediate week, in the lab, have a sprint review with your TA mentor and all team members present to review the completed user stories.
[x] Demonstration:
Present an engaging demo. The final prototype should show the usability of its user interface and the degree to which its functionality fulfills the user's needs. All team members must contribute to the demo.
[x] Tool Use:
Regular and consistent use of GitHub by all team members to share files for the project deliverables, to effectively track issues, and to manage tasks.
There must be consistency across the deliverables at this checkpoint.
The evaluation of this project part will also include a component called "relative quality". This is used to differentiate projects that meet the minimum from projects that go "the extra mile".
Restrictions
Use Java, with Android, and Firestore.
Hints
Code from publicly available sources may be used within reason (i.e., does not essentially solve major sections of the app) and only if their licenses permit so. Always fully cite to give proper credit to the original developers in the source code and in the system documentation. For example, in citing a work, at least state: from whom, the date of publication, license, and URL. Do what is required by its license. When citing generative AI, at least state the tool used, date of generation, relevant prompt(s), and explain your revisions. You do not need to cite standard language or API references.
Overview
Your product is ready to be released!
Most deliverables are final, consistent updates of what was initiated for the previous project part.
Deliverables
[x] Addressing feedback: Address any TA feedback on the previous project part.
[x] Code Base of Prototype: Your source code will be inspected. The code should conform to Java coding conventions. Maintain the source code in your source repository.
[x] Code Documentation: For each source file, you should have a brief introductory comment describing its purpose or role within the application or a design pattern, as well as any currently outstanding issues. Provide Javadoc interface documentation for your model classes and their public methods (at least).
[x] Test Cases: Write runnable tests for your model and control classes. Provide intent tests for the requirements you have done. Deliver the test code to your source repository. If you have test data files, also include those. Test data should be realistic.
[x] Object-Oriented Design: Update your object-oriented design using a UML class diagram (or diagrams), including details on key attributes and methods. Add notes as appropriate to clarify. Include notes on the use of design patterns among the classes.
[x] Product Backlog: Update the requirements as appropriate. Note which user stories are done at this checkpoint.
[x] User Interface Mockups and Storyboards: Update these diagrams as appropriate.
[x] Sprint Planning and Reviews: Maintain a record of what user stories are planned for each weekly sprint at its start, including who is to work on them. For each intermediate week, in the lab, have a sprint review with your TA mentor and all team members present to review the completed user stories.
[x] Demonstration: Present an engaging demo. The final prototype should show the usability of its user interface and the degree to which its functionality fulfills the user's needs. All team members must contribute to the demo.
[x] Tool Use: Regular and consistent use of GitHub by all team members to share files for the project deliverables, to effectively track issues, and to manage tasks.
There must be consistency across the deliverables at this checkpoint.
The evaluation of this project part will also include a component called "relative quality". This is used to differentiate projects that meet the minimum from projects that go "the extra mile".
Restrictions
Use Java, with Android, and Firestore.
Hints
Code from publicly available sources may be used within reason (i.e., does not essentially solve major sections of the app) and only if their licenses permit so. Always fully cite to give proper credit to the original developers in the source code and in the system documentation. For example, in citing a work, at least state: from whom, the date of publication, license, and URL. Do what is required by its license. When citing generative AI, at least state the tool used, date of generation, relevant prompt(s), and explain your revisions. You do not need to cite standard language or API references.