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