rubyforgood / rubyforgood/alongwithyou

Friends/Family/Other Contacts — add/edit/delete list

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

phase:1 RFG Conference type:feature
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. assertWellFormed requires
    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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.