Skip to content

2.0 New Entity Checklist

Cohen Adair edited this page Dec 7, 2023 · 10 revisions

A checklist and considerations when adding new entities or entity properties.

  • [] Local database changes. This usually means a new table.
  • [] Protobuf changes:
    • [] New message type
    • [] New message ID to applicable entities, such as angler_id being added to the Catch message.
  • [] More page row
  • [] New manager class:
    • [] Inherit from correct entity manager (i.e. NamedEntityManager, ImageEntityManager, etc.)
    • [] Initialize in AppManager.
    • [] Override parent methods as needed (i.e. matchesFilter, displayName, etc.)
  • [] Add save page (add/edit functionality)
  • [] Update UnitsPage if needed
  • [] Add list page
  • [] Add entity page (details of a single entity, shown when list item is selected)
  • [] Add to applicable editable form(s), such as a new catch field.
    • [] Ensure new field is tracked by default.
  • [] Add to "Add all" button
  • [] Add to applicable save forms (i.e. SaveCatchPageSaveReportPage).
  • [] Add to applicable entity pages (i.e. CatchPage).
  • [] Add to applicable entity matchesFilter method
  • [] If added property to Catch, update isolatedFilteredCatches.
  • [] Add to stats feature, if applicable:
    • [] As "Per X" in CatchSummary.
    • [] As standard report.
  • [] Add new field to CsvPage, if applicable.
  • [] Add new mock for manager (mocks.dart); run ./gen_mocks.sh.
  • [] Add new mock manager to StubbedAppManager.
  • [] Fix any broken tests.
  • [] Update existing tests where applicable.
  • [] Add new tests (note: do pages last so individual widgets are already tested).
  • [] Manually test all changes.
Clone this wiki locally