Week of October 18 Sprint - CMPUT301F22T09/shell379 GitHub Wiki
Overall goals
- Set up data classes and firestore database
- Set up initial views for Ingredients and Recipes
- Link data to UI
- Create basic UI
TODO
General
- UML diagram
- Set up firestore db
- Set up viewmodel / live data
- Create test suite
Ingredient
- Create ingredient class
- Create ingredient screen
- Add functionality
- Edit/view details functionality
- Delete functionality
Recipe
- (same as ingredient)
Group discussion
- Viewmodel: A global object you instantiate which every class has access to
- Live data model: can be observed for automatic updates
Decisions for the future! Make sure to follow these going forward:
- Use viewmodel with live data to maintain global state
- Whenever we change/update data, it goes to the db first, then we pull from the db to update the viewmodel
- Use Android navigation!
- Use recycler view
Notes from meeting with TA
- Expect feedback soon (within 10 days?) for Part 2; TA will copy and paste feedback in Discord as soon as it's available
- 18 days until working app is needed (half-way checkpoint, Part 3)
- In the UML diagrams, you need to include Android classes (e.g. AppCompatActivity for MainActivity)
- Differentiate between arrows for inheritance vs associations
- Follow label conventions for UML labels
- If you implement an interface (e.g. serializable interface), you don't need to include the abstract methods, but make sure the interface class still looks complete (e.g. class name, empty attributes section, and empty methods section)
- Separate logic into controller classes (separate logic from UI classes), or else unit tests won't work
- Javadoc strings within code are good enough; you don't need to generate the whole javadoc since TAs don't care
- Move user stories to work in progress: this is how the TA evaluates the weekly sprint
- You can break user stories into smaller ones; keep the original, bigger story, but you can also create smaller sub-stories and link them to the parent user story
- Spread out your work, don't just commit everything all at once at the last minute
- Finish riskier stuff early
- You can use auto-UML generator, but you'll have to adjust it to clean it up before submitting
Tasks for each member
(Link specific user stories here later)
Yi Meng
- Recipe
Josh
- Set up main page and help with Ingredients functionality
Zony
- Set up test cases (once Fiaz is done his part)
Fiaz
- Set up all data classes and database and view model
Elsa
- Set up UI for Ingredients
Alphonso
- Recipe
Questions
- To what extent do we implement user info? Like user ids, passwords, etc.