Sprint 2: User Interface

⚠️
Make sure that you addressed any feedback from Sprint 1.

The goal of your second iteration is to design and implement your user interface, including the basic structure and some of your screens. This will likely be an ongoing concern, and it’s expected that you will be iterating on your UI for the rest of the term. However, we expect you to start with the correct structure in place, know what your screens will look like (and how they are designed) and have some of these screens working. You should be thinking about the “polish” of your UI, but look-and-feel doesn’t need to be finalized yet.

Requirements

For this sprint, you should complete the following:

  • Any remaining requirements from previous demos.
  • Feedback from Demo 1 should have been addressed.
  • You should have screen mockups i.e. low-fidelity prototypes of your screens. Figma is recommended, although they do not need to be interactive screens.
  • You should have basic UI classes in place for at least two of these screens. This includes ViewModels wired up to your Model classes, and Composables aka Views for those screens. You are not expected to have all screens fully implemented at this stage; that will normally happen over the course of the last three iterations.
  • You should have a custom theme in-place, with at least a few elements changed from the defaults. All screens should use this theme.
  • Other features as required to make reasonable progress on your application.

Submission

After the demo, you will need to ensure that your work is complete so that it can be graded. This means that all documentation should be updated (issues, wiki pages, team meeting minutes), and all source code should be frozen (changes pushed, everything merged to main).

The deadline is 6:00 PM on the listed time and date. You do not need to actually submit anything; we will grade what is posted in your GitLab project at the deadline.

The content that is in GitLab should be the same as what you presented in-class. You are allowed to make small corrections but please avoid making major content changes between the demo and the submission.

Grading

The grading scheme is available in Learn under Resources > Rubrics.

Deliverables are normally graded by the following week’s lecture, and the grade and feedback will be posted under Submit > Dropbox. Any questions related to this should be sent directly to your TA.

See grading policies for more information.

Component Items Marks
Project The project builds and runs using ./gradlew from the command-line. 1
Issues and project documents are up-to-date. 1
Features Designs for all screens are complete i.e. Figma diagrams. 1
Multiple screens have been implemented and are functional. 2
Screens are implemented as Views and ViewModel classes. State is hoisted out of views. 2
User can navigate between screens, using intended workflow. 1
Progress was made on custom or advanced features. 1
Unit tests exist for these features, and all tests pass. 1
Total / 10