Sprint 1: Architecture & Design
⚠️
You should have received feedback during your Proposal demo to your TA; please make sure to address that feedback in this iteration!
The goal of this iteration is to setup a project with the required architecture (including modules, packages) and unit testing framework, and to design and construct your domain classes and structures. This will be the foundation for the rest of your project.
Requirements
For this sprint, you should complete the following:
- You should have a Gradle project, with the correct structure for the type of project that you are building e.g., multi-project build, or KMP project. It should build from the Gradle menu (in IntelliJ) or the command line (using
gradlew
). - You should have entity (business objects) classes relevant to your project e.g., recipe class for a Recipes application.
- You should have an obvious layered architecture, with Domain and Model classes. You should also have a model that load and manipulate them as necessary (probably using “fake” data since you won’t have a database at this point).
- You should have unit tests in place against your Domain objects that allow you to build the project, run and pass all of the tests.
You may have additional features, but you should have at least these features complete in time for the demo.
Grading
Component | Items | Marks |
---|---|---|
Project | Targets can be built and run using ./gradlew or the IDE. |
1 |
Issues and project documents are up-to-date. | 1 | |
Features | Gradle project with correct structure, version catalog. | 1 |
Domain classes that model your core application data. | 2 | |
Layered architecture, with Model, interfaces. | 2 | |
Progress was made on custom or advanced features. | 1 | |
Unit tests were created for all features; tests all pass. | 2 | |
Total | / 10 |