Sprint 3: Database
Your third iteration is about persisting your data in an online, SQL database. By the end of this iteration, all of your data should be saved and restored from your database.
Requirements
For this sprint, you should complete the following:
- Any remaining requirements from previous demos.
- Feedback from Demo 2 should have been addressed.
- A database schema, showing tables and their key relationships to one another. You should have a UML entity-relationship diagram illstrating this. Markdown and Mermaid.js is recommended for drawing this diagram.
- DB tables and relationships should be realized in a SQL database (local or remote).
- You should create a DB Repository class, and DB Interface class with methods that your Model can call to interact with the DB. Your interface methods should be as neutral as possible with respect to your DB implementation.
- You should create a Mock Database class that can mimic database functionality, using the same interface.
- Unit tests should be written against your DB Repository interface, using your Mock DB as the Repository. You should not tests against “live data”.
- Other features as required to make reasonable progress on your application. These should represent about 50% of your groups effort for the sprint.
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 | Project goal and scoped features were reasonable. | 1 |
Feedback from the proposal was addressed. | 1 | |
Issues and project documents are up-to-date. | 1 | |
Team meetings were held and documented. | 1 | |
Code was merged back to main . |
1 | |
Compiles and executes using ./gradlew or the IDE. |
1 | |
Features | ERD diagram showing the tables/relationships. | 2 |
Database implementation (SQL database). | 2 | |
Repository, interface and Mock DB class. | 2 | |
User stories | Progress was made on custom or advanced features. | 4 |
Testing | Tests written for your interface using the Mock DB. | 4 |
Total | / 20 |