e27f42942c
- stats: 7×24 feed density heatmap (Mon–Sun × 24h, indigo intensity, dark mode) - stats: diaper streak card — current consecutive days ≥4 couches + best streak for period - dashboard: QuickNoteWidget — inline journal note (sky card) without leaving dashboard - dashboard: HandoffWidget — localStorage "since last visit" digest (feeds/diapers/sleep) shown after 2h gap - growth: replace S0/S1/S2 x-axis with human labels (Naiss., 1sem, 2sem, 1m, 2m … 1 an) - growth: tooltip shows age in full words (e.g. "3 mois 1 sem.") - cron: POST /api/cron/weight-percentile-alert — alerts when baby weight exits configurable WHO band (weight_percentile_min / weight_percentile_max SystemConfig keys, deduped per measurement) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
80 lines
5.2 KiB
Markdown
80 lines
5.2 KiB
Markdown
# Grow — Feature Tracker
|
||
|
||
## Completed
|
||
|
||
✅ Edit/delete events from timeline
|
||
✅ Journal/notes page (free-form daily notes) — /notes
|
||
✅ Doctor notes view — /doctor-notes (DOCTOR adds, all read)
|
||
✅ Baby profile edit (in settings)
|
||
✅ Multiple babies — adding from settings + switcher in sidebar
|
||
✅ Sleep summary in stats (total, avg/day, longest stretch)
|
||
✅ Feeding tracker summary in stats (breastfeed duration, bottle count, avg interval)
|
||
✅ WHO growth percentile curves on growth chart
|
||
✅ Vaccination tracker — /vaccinations
|
||
✅ Milestones — /milestones
|
||
✅ CSV export per event type with date filter (in settings)
|
||
✅ Dark mode filter pills
|
||
✅ Dark mode graph hover/tooltip
|
||
✅ Growth graph time range selector
|
||
✅ Growth graph hover order + dark mode
|
||
✅ Signout button in sidebar
|
||
✅ Journal full page width
|
||
✅ All pages full width (no max-w constraint)
|
||
✅ Baby switcher in sidebar (not homepage)
|
||
✅ New pages in mobile nav (via More menu)
|
||
✅ Disable signups (admin toggle)
|
||
✅ User list in admin (with role editing and delete)
|
||
✅ Force logout user (admin)
|
||
✅ Family list in admin (with reset invite code)
|
||
✅ Storage stats in admin
|
||
✅ Pushover test button in admin
|
||
✅ Email test button in admin
|
||
✅ Backup/export all (admin)
|
||
✅ Maintenance mode toggle (admin config — banner not yet wired)
|
||
|
||
## Pending
|
||
|
||
🔲 Maintenance mode banner (config key exists, layout doesn't check it yet)
|
||
🔲 Data retention (auto-delete events older than N months)
|
||
🔲 Bilingual UI (FR/EN toggle)
|
||
🔲 Weight trend alert (no growth log in 30 days)
|
||
✅ Breast pump / milk expression tracker (suivi tirage de lait) — volume, duration, side, time
|
||
✅ Email invitation from UI (invite family members by email, not just invite code)
|
||
✅ Settings page broken on mobile — FAB hidden on /settings, bottom padding increased
|
||
✅ Photo log (attach photo to event) — upload API, picker in event modal, thumbnail in timeline
|
||
✅ Audit log — AuditLog model, logs event CRUD, admin table (/api/admin/audit)
|
||
✅ Recurring medication reminders — /reminders page, CRUD API, Pushover via /api/reminders/check (call from cron)
|
||
✅ Calendar view — /calendar monthly grid with event dots, day detail on tap
|
||
✅ Milk stock management — /milk page, lots with location (room/fridge/freezer), configurable expiry, alerts, notes, mark-as-used; PUMP now in dashboard quick-log
|
||
✅ Medication profiles — /medications page, preset + custom profiles, dose/unit/interval/crisis-interval, auto-seeded on first use
|
||
✅ Medication next-dose enforcement — visual warning in event modal + dashboard status card, crisis mode toggle
|
||
✅ Datetime selectors fixed — split date + time inputs (iOS Safari datetime-local compatibility)
|
||
✅ Live timer h:m:s — timers ≥ 1h now show h:mm:ss format
|
||
✅ Edit events from timeline — Modifier button opens pre-filled event modal, saves via PATCH
|
||
|
||
## Feature ideas / backlog
|
||
|
||
✅ Weekly summary cron — POST /api/cron/weekly-summary, 7-day digest per baby (feedings, sleep, diapers, weight), Pushover to family; auth via Bearer cron_secret
|
||
✅ Baby activities log — BATH, WALK, TUMMY_TIME event types (timer + duration)
|
||
✅ Pinned family note — shared editable note on dashboard; /api/family/pinned-note
|
||
✅ Event templates — named quick-log presets; create/delete from dashboard; /api/event-templates
|
||
✅ Maintenance mode banner — layout reads SystemConfig; amber banner for users, indicator for superadmin
|
||
✅ Growth alert: no weight log in 30 days → push notification (configurable via growth_alert_days config key)
|
||
✅ Sleep log chart — visual night timeline (bar per night, 7 days, 19h–11h window)
|
||
✅ Bottle feed from milk stock — log BOTTLE → select maternal lot → auto-mark as used
|
||
🔲 Feeding pattern AI insight (detect sleep regression, feeding cluster, etc.)
|
||
🔲 Contacts / care team directory (pediatrician, midwife, family contact numbers)
|
||
🔲 Data retention policy — auto-archive events older than N months
|
||
✅ Offline support / PWA install prompt — service worker via next-pwa, PNG icons, apple-touch-icon, offline fallback page
|
||
🔲 Multi-language UI (FR/EN toggle)
|
||
✅ Daily digest push notification — /api/cron/daily-digest: last feed, last diaper, sleep total, next medication due
|
||
✅ Baby photo timeline — /photos, grid by day, full-screen lightbox with prev/next nav
|
||
✅ Milk stock expiry alert push — /api/cron/milk-expiry: lots expiring within 24h, grouped by family
|
||
✅ Batch delete events — "Sélectionner" mode in timeline, checkboxes per row, confirm + bulk delete
|
||
✅ Event duration history chart — avg NAP/NIGHT_SLEEP duration per day, dual-line chart in stats
|
||
✅ Feeding session heatmap — 7×24 grid showing feed density by hour/day of week, in stats page
|
||
✅ Diaper tracker streak — consecutive days with ≥4 couches; current + best streak in stats
|
||
✅ Quick note from dashboard — inline journal note widget (sky card) without leaving dashboard
|
||
✅ Caregiver handoff summary — localStorage-based "since last visit" digest on dashboard (feeds/diapers/sleep, shown after 2h gap)
|
||
✅ Weight percentile push alert — /api/cron/weight-percentile-alert: alerts when weight outside configurable WHO band (weight_percentile_min / weight_percentile_max SystemConfig keys)
|