Skip to content

Releases: mhju0/allergy-tracker

v2.2.4 — Animated demo in the README

Choose a tag to compare

@mhju0 mhju0 released this 19 Jul 06:00

README demo GIF.

Docs

  • Animated demo as the README hero. A ~7s looping GIF of the core flow — a no-reaction check-in landing, the traffic-light food list, a food's flat reaction timeline, and the calendar history — now sits at the top of the README (docs/screenshots/demo.gif, 320×695, 0.48 MB).
  • Removed the now-redundant home screenshot and tightened the gallery to a 2×2 (foods, detail, calendar, reaction) — the screens a still reads better than motion.

No application changes; tsc + 45 Jest tests green.

Full changelog: v2.2.3...v2.2.4

v2.2.3 — Calendar dot centering

Choose a tag to compare

@mhju0 mhju0 released this 19 Jul 05:17

Calendar day-cell polish.

Fixes

  • Calendar — event dot centering. The little status dot under each day now sits centered in the gap between the digit and the cell floor. It was pinned with a hard-coded bottom: 6 px offset (tuned for one cell size) that read slightly low; it's now positioned as a share of cell height, so it stays centered at any screen size. The day number is unchanged.

Docs

  • Regenerated the calendar screenshot and the social-preview banner for the new dot position, and relocated the social preview under docs/screenshots/.

npx tsc --noEmit and 45 Jest tests pass in CI.

Full changelog: v2.2.2...v2.2.3

v2.2.2 — Calendar event ordering fix

Choose a tag to compare

@mhju0 mhju0 released this 18 Jul 21:45

Calendar event ordering fix and asset refresh.

Fixes

  • Calendar — same-instant events now read close-then-open. On an autoclose→next-start handoff two events share a timestamp (e.g. one food's 안전 확인 and the next food's 테스트 시작 both at 09:00). The day-detail list used to interleave the two foods awkwardly (달걀 → 소고기 → 달걀); it now lists a trial's close before the next trial's start, so events stay grouped per food (소고기 안전 확인 → 달걀 테스트 시작 → 달걀 이상 없음). Extracted as a pure sortDayEvents helper with a regression test proven to fail on the old time-only sort.

Docs & assets

  • Regenerated the social-preview banner and the home/calendar screenshots so the mockups reflect the current 55-food catalog (untried count 41) and the corrected calendar ordering.
  • README test count updated to 45.

npx tsc --noEmit and 45 Jest tests pass in CI.

Full changelog: v2.2.1...v2.2.2

v2.2.1 — Korean vocabulary polish

Choose a tag to compare

@mhju0 mhju0 released this 18 Jul 15:01

Korean vocabulary polish for the ingredient catalog.

Changes

  • Removed 그린빈 from the catalog. It was a literal transliteration of English "green bean" with no unambiguous native Korean equivalent, so the ingredient is dropped rather than guessed (catalog 56 → 55 foods).
  • Standardized two loanword spellings to their 외래어 표기법 forms: 요거트 → 요구르트, 캐슈넛 → 캐슈너트.
  • README catalog count and the home / foods screenshots refreshed to match (untried count and list).

Every other ingredient name was audited and confirmed proper or standard Korean.

Full changelog: v2.2.0...v2.2.1

v2.2.0 — Chronological history & designer polish

Choose a tag to compare

@mhju0 mhju0 released this 18 Jul 14:34

On-device baby food-allergy tracker — Expo · React Native · TypeScript · SQLite/Drizzle. Korean-only, 100% offline.

Highlights

  • Chronological record history. The food-detail 기록 section is now a flat, newest-first list where every record — 테스트 시작 · 이상 없음 · 반응 발생 · 안전 확인 · 취소됨 — is its own dated, traffic-light-colored bullet. No more nesting a trial's check-ins and reactions inside one outcome row; it now mirrors the calendar's day-detail model.
  • Tappable status counts. The home 안전 / 테스트 중 / 반응 / 안 먹어봄 rows jump straight to that section of the foods list — one list, no new filters.
  • Designer-feedback polish. Content-inset alignment applied app-wide (home, foods, calendar, settings, buttons), calendar spacing and month-nav refinements, list polish, and home eyebrow / trial-status-line alignment to the row-inset edge.

Quality

npx tsc --noEmit and 43 Jest unit tests pass in CI on every push. Screenshots regenerated from the deterministic EXPO_PUBLIC_DEMO=1 fixture.

Full changelog: v2.1.1...v2.2.0

v2.1.1 — trial escape hatch & check-in clarity

Choose a tag to compare

@mhju0 mhju0 released this 18 Jul 02:38

Closes out the pre-design-review polish round.

UX

  • Blocked start is now actionable — starting a food while another is under observation names the active trial and offers a one-tap 취소하고 시작 (with 닫기 to dismiss). If the observation window elapsed while the alert was open, the finished trial is auto-closed as safe instead of cancelled.
  • 테스트 취소 asks first — cancelling an in-progress trial now shows a confirmation dialog before discarding observation days.
  • Check-in done-state teaches its cadence — after the daily 이상 없음 tap: ✓ 이상 없음 기록됨 · 오후 2:30 + 하루 한 번이면 충분해요.

Hardening

  • cancelTrial can no longer overwrite a finished safe/reacted outcome via a stale id — the UPDATE is guarded by outcome IS NULL, with a regression test asserting the generated SQL (proven to fail on the unguarded code).

Gates: TypeScript strict clean · Jest 43/43 · CI green.

v2.1.0 — Korean-only, editorial redesign, calendar & check-ins

Choose a tag to compare

@mhju0 mhju0 released this 17 Jul 07:16

Highlights

  • Korean-only app — bilingual support removed by design; dates pinned to ko-KR
  • Editorial design system — paper/ink/persimmon tokens, big-type headlines, hairline lists
  • 캘린더 — month history view with tinted trial windows and reaction/check-in dots
  • 이상 없음 check-ins — one-tap "no reaction observed" logging during a trial
  • Fixed 3-day observation window, aligned with pediatric guidance (KDCA, 대한소아청소년과학회, NHS)
  • Demo mode (EXPO_PUBLIC_DEMO=1) — 46 days of realistic seeded history for demos
  • Branding — traffic-light app icon, paper splash, light/dark logo
  • CI — typecheck + 42 Jest tests on every push

Full design document: docs/design-spec.md

v2.0.0-alpha — ground-up rebuild

Pre-release

Choose a tag to compare

@mhju0 mhju0 released this 17 Jul 07:16

First working build of the v2 rebuild: Expo + React Native + TypeScript, on-device SQLite (Drizzle ORM), derived traffic-light statuses, one-trial-at-a-time enforcement, local check-in notifications, doctor-ready PDF and JSON export. 23 unit tests.

v0.9 — 1-minute iOS simulator demo

Choose a tag to compare

@mhju0 mhju0 released this 13 Jul 13:46

One-minute walkthrough recorded on the iPhone 17 (iOS 26.1) simulator: dashboard traffic-light hero → ingredient stamp grid → reaction-retest consent gate → 72h observation → doctor-shareable report.

Asset: mammacare-demo-1min.mp4 (70s, H.264)

대시보드 신호등 히어로 → 도감 잉크 스탬프 그리드 → 반응 재료 재테스트 동의 게이트 → 72시간 관찰 → 리포트까지 1분 데모.