rubyforgood / rubyforgood/alongwithyou
Friends/Family/Other Contacts — add/edit/delete list
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 4
- Avg merge
- 9h 34m
- Merged PRs (30d)
- 16
Description
Description
People who matter to the patient but are not the emergency contacts of #35 and
not clinicians. Repeatable-entry list, the same shape as #35.
Worth settling in this ticket: whether this is genuinely a second table or the
same contacts table with a category field. #35 feeds the "Keep with me" screen
(#48) and this one should not, which is an argument for keeping them apart — but
say which you chose and why, because it is the kind of thing that is expensive
to change once there is data in the field.
Fields — need confirming, not sourced from any ADR
Name, relationship, phone, email, notes. (Same as #35 plus notes.)
Acceptance Criteria
- Separate-table-or-shared decision made and recorded in the PR description
- Add, edit, delete against the encrypted local database
- Built on the #49 component
- Ships its migration
- These contacts do not appear on the "Keep with me" screen
- WCAG-aligned; copy neutral per 0004
- Covered by unit tests
Additional Info and Resources
- Not blocked on #118 finishing — only on its props contract. The repository
config, the migration and their tests can be written first against the
in-memory SQLite harness; the screen fills in behind once #118 publishes the
component's shape. - Coordinate your migration id before you start.
assertWellFormedrequires
them contiguous from 1, so parallel PRs each adding "migration 1" all conflict
after the first one merges. Renumbering an unmerged entry is fine — the "never
edit a merged entry" rule only applies once it has shipped. - 0005 — the reason emergency contacts and ordinary contacts are worth keeping distinguishable
QA
- Add entries here and in #35, confirm they do not bleed into each other
- VoiceOver/TalkBack through add, edit and delete
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with issue #35, the #49 component contract, and decision 0005; confirm the contact fields and choose the storage shape before implementation. Use the in-memory SQLite harness and assertWellFormed while coordinating the migration ID. Done means CRUD, isolated contacts, migration, accessibility checks, and unit tests covering the acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sqlite, typescript
- Domain
- accessibility, database, mobile, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100