Files
maternal-app/docs/REMAINING_FEATURES.md
Andrei 648204475d
Some checks failed
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled
docs: Add 3 critical bugs and 8 new high-priority features to roadmap
Add urgent bug fixes and user-requested features to REMAINING_FEATURES.md:

## 🔥 Critical Bugs (3)
1. Voice Tracking Not Saving Activities 🚨
   - Voice commands not creating activities in trackers
   - Investigation steps and acceptance criteria added
2. Session Persistence After Revocation 🚨
   - Users remain logged in after revoking sessions/devices
   - Security issue requiring immediate fix
3. Voice Modal Status Not Updating 🚨
   - Modal stuck on "Listening..." instead of showing progress
   - Need progressive status: Listening → Understanding → Adding

## 🟠 New High-Priority Features (8)
9. User Profile Photo Upload (2h)
10. Child Photo Upload Enhancement (1.5h)
11. Mobile View Grid Layout - 2 cards per row (1h)
12. Secondary Color Palette & Accessibility Toggle (4h)
13. Legal Pages & User Menu (Privacy, Terms, EULA, Cookies) (3h)
14. EULA Agreement Popup on First Login (2h)
15. Cookie Consent Banner (2h)
16. Collapsible Active Sessions Section (1h)

Updated totals:
- 77 features remaining (up from 66)
- 139 total features (up from 128)
- 62 completed (45%, down from 48%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-03 22:46:08 +00:00

23 KiB

Remaining Features - Maternal App

Generated: October 3, 2025 Status: 77 features remaining out of 139 total (55%) Completion: 62 features completed (45%) Urgent: 3 critical bugs + 8 new high-priority features

This document provides a clear roadmap of all remaining features, organized by priority level. Use this as a tracking document for ongoing development.


📊 Summary

Feature Status by Category

  • Bugs: 3 critical bugs (voice tracking, session management, voice UX)
  • Backend: 31 remaining / 55 total (44% complete)
  • Frontend: 28 remaining / 52 total (46% complete)
  • Infrastructure: 8 remaining / 21 total (62% complete)
  • Testing: 13 remaining / 18 total (28% complete)

Priority Breakdown

  • 🔴 Critical (Pre-Launch): 0 features ALL COMPLETE!
  • 🔥 Urgent Bugs: 3 critical bugs (voice tracking, session management)
  • 🟠 High Priority: 16 features (8 existing + 8 new)
  • 🟡 Medium Priority: 18 features
  • 🟢 Low Priority (Post-MVP): 40 features

🔴 CRITICAL PRIORITY (Pre-Launch)

All Critical Features Complete!

The following critical features have been successfully implemented:

  • Testing Foundation (80%+ coverage achieved)
  • COPPA/GDPR Compliance (data export, deletion, consent)
  • Redux Persist (state persistence)
  • Accessibility Foundation (WCAG 2.1 AA Phase 1)
  • Real-Time Sync (WebSocket room management)
  • AI Safety Integration (medical disclaimers, crisis hotlines)
  • LangChain Context Management (4000 token budget)
  • Security Hardening (Helmet.js, CSP, CORS)
  • Localization (95% complete - 77 files, 7 languages)

Status: LAUNCH READY - All critical features implemented!


🔥 URGENT BUGS (3 Critical Issues)

Bug Fixes Required Before Launch

BUG-1. Voice Tracking Not Saving Activities 🚨

Category: Voice Features - CRITICAL Effort: 2-3 hours Severity: High - Core feature broken Files:

  • src/modules/voice/voice.service.ts (investigate)
  • src/modules/tracking/tracking.service.ts (verify payload)
  • Frontend voice components

Issue Description: Items added via voice command for sleep, feeding, medicine, and activities are NOT being added to the trackers.

Investigation Steps:

  • Check if voice extraction returns correct activity payload
  • Verify required fields match tracking service expectations
  • Check if childId is being passed correctly
  • Verify activity type mapping is correct
  • Check for validation errors in tracking service
  • Add error logging to voice → tracking flow

Acceptance Criteria:

  • Voice commands successfully create sleep activities
  • Voice commands successfully create feeding activities
  • Voice commands successfully create diaper activities
  • Voice commands successfully create medication activities
  • Error messages shown to user if creation fails
  • Activities appear in dashboard immediately after voice command

BUG-2. Session Persistence After Revocation 🚨

Category: Authentication - CRITICAL Effort: 1-2 hours Severity: High - Security issue Files:

  • maternal-web/lib/auth/AuthContext.tsx
  • maternal-app-backend/src/modules/auth/auth.service.ts

Issue Description: Even after revoking all sessions or removing all devices, user remains logged in on page refresh.

Root Cause: Likely the frontend is not clearing localStorage/cookies when session is revoked, or the refresh token is still valid.

Investigation Steps:

  • Check if logout endpoint is called on session revocation
  • Verify localStorage.clear() is called on logout
  • Check if refresh token is invalidated on server
  • Verify session revocation broadcasts to all tabs
  • Test cross-tab logout behavior

Acceptance Criteria:

  • Revoking all sessions logs out user immediately
  • Removing all devices logs out user immediately
  • Page refresh after revocation shows login screen
  • No refresh token remains in localStorage
  • All tabs/windows are logged out simultaneously

BUG-3. Voice Modal Status Not Updating 🚨

Category: Voice Features - HIGH Effort: 1-2 hours Severity: Medium - UX issue Files:

  • components/features/voice/VoiceInputModal.tsx (or similar)
  • hooks/useVoiceInput.ts

Issue Description: Voice command modal only displays "Listening..." status even though backend processes multiple stages (transcription → understanding → extraction → saving).

Requirements: Show progressive status updates:

  1. "Listening..." (while recording)
  2. "Understanding your request..." (during transcription)
  3. "Adding to [tracker-name]..." (during activity creation)
  4. Success/error message
  5. Auto-close modal after success (1-2 seconds delay)

Investigation Steps:

  • Check if backend returns status updates via WebSocket or polling
  • Verify frontend listens for status change events
  • Check modal state management for status field

Acceptance Criteria:

  • Modal shows "Listening..." while recording
  • Modal shows "Understanding your request..." during transcription
  • Modal shows "Adding to Sleep tracker..." (or Feeding, Diaper, etc.)
  • Modal shows success message with checkmark
  • Modal auto-closes 2 seconds after success
  • Modal closes immediately on manual stop
  • Modal doesn't stay open too long after user stops speaking

🟠 HIGH PRIORITY (16 Features)

New User-Requested Features (8 features)

9. User Profile Photo Upload

Category: Profile Management Effort: 2 hours Files:

  • app/settings/page.tsx
  • components/features/settings/ProfilePhotoUpload.tsx (new)
  • Backend: src/modules/auth/auth.controller.ts (add upload endpoint)

Requirements:

  • Upload profile photo from settings page
  • Crop/resize interface (square aspect ratio)
  • Photo preview before saving
  • Replace existing photo
  • Photo displayed in header/navigation

Acceptance Criteria:

  • Photo upload button in settings
  • Image cropper interface
  • Preview before save
  • Photo appears in user menu
  • Photo appears in family member list
  • API endpoint: PATCH /api/v1/auth/profile/photo

10. Child Photo Upload Enhancement

Category: Child Management Effort: 1.5 hours Files:

  • components/features/children/ChildDialog.tsx
  • components/features/children/ChildCard.tsx

Requirements:

  • Add photo upload to child creation/edit dialog
  • Photo displayed on child card
  • Photo in child selector dropdown
  • Default avatar if no photo

Acceptance Criteria:

  • Photo upload in child create/edit dialog
  • Photo preview in dialog
  • Photo displayed on child card
  • Photo in child selection dropdown
  • Default avatar fallback

11. Mobile View Grid Layout (2 Cards per Row)

Category: UI/UX - Mobile Effort: 1 hour Files:

  • components/features/children/ChildrenList.tsx
  • app/children/page.tsx
  • Potentially other grid layouts

Requirements:

  • Display 2 child cards per row on mobile
  • Responsive breakpoints (1 card on very small screens)
  • Maintain touch target sizes
  • Proper spacing between cards

Acceptance Criteria:

  • 2 cards per row on mobile (width >= 360px)
  • 1 card per row on very small screens (< 360px)
  • Cards maintain 44x44px touch targets
  • Proper gap spacing (8-16px)
  • Test on iPhone SE, iPhone 14, Android

12. Secondary Color Palette & Accessibility Toggle

Category: UI/UX - Theming Effort: 4 hours Files:

  • app/globals.css (add secondary palette CSS variables)
  • app/settings/page.tsx (add accessibility toggle)
  • Redux: lib/store/slices/uiSlice.ts (theme preference)

Requirements:

  • Create beautiful secondary color palette (e.g., blues/purples)
  • Settings toggle for "Accessibility Mode" vs "Standard Mode"
  • Accessibility Mode: High contrast, larger text, reduced animations
  • Standard Mode: Current warm palette with animations
  • Persist user preference

Acceptance Criteria:

  • Secondary color palette designed (6-8 colors)
  • Settings toggle: "Accessibility Mode"
  • High contrast colors in accessibility mode
  • Larger font sizes in accessibility mode (1.15x base)
  • Reduced/disabled animations in accessibility mode
  • User preference saved to localStorage
  • Theme applied consistently across all pages

Category: Compliance Effort: 3 hours Files:

  • app/legal/privacy/page.tsx (new)
  • app/legal/terms/page.tsx (new)
  • app/legal/eula/page.tsx (new)
  • app/legal/cookies/page.tsx (new)
  • components/layout/UserMenu.tsx (add legal links)

Requirements:

  • Privacy Policy page (GDPR/COPPA compliant)
  • Terms of Service page
  • EULA (End User License Agreement)
  • Cookie Policy page
  • Links in user menu footer
  • Proper legal language for parenting app

Acceptance Criteria:

  • Privacy Policy page with GDPR/COPPA disclosures
  • Terms of Service page
  • EULA page
  • Cookie Policy page
  • Links added to user menu
  • Links in footer of all pages
  • Mobile-responsive layout
  • Last updated dates displayed

14. EULA Agreement Popup on First Login

Category: Compliance Effort: 2 hours Files:

  • components/common/dialogs/EulaDialog.tsx (new)
  • lib/auth/AuthContext.tsx (show EULA on first login)
  • Backend: User entity (add eulaAcceptedAt field)

Requirements:

  • Show EULA dialog on first login only
  • User must scroll to bottom before accepting
  • "I agree" checkbox required
  • Block app usage until accepted
  • Store acceptance timestamp
  • Link to full EULA page

Acceptance Criteria:

  • EULA dialog shows on first login
  • User must scroll to enable "I agree" checkbox
  • "Continue" button disabled until checkbox checked
  • EULA acceptance timestamp saved to database
  • Dialog doesn't show on subsequent logins
  • Link to full EULA page in dialog

Category: Compliance Effort: 2 hours Files:

  • components/common/banners/CookieConsent.tsx (new)
  • lib/store/slices/uiSlice.ts (cookie preferences)
  • app/layout.tsx (add banner)

Requirements:

  • Cookie consent banner at bottom of page
  • Options: Essential, Analytics, Marketing
  • "Accept All" / "Reject All" / "Customize" buttons
  • Store user preferences in localStorage
  • Respect user choice (disable analytics if rejected)
  • Link to Cookie Policy

Acceptance Criteria:

  • Banner shows on first visit
  • Three toggle options: Essential (always on), Analytics, Marketing
  • "Accept All" accepts all cookies
  • "Reject All" only accepts essential
  • "Customize" shows detailed preferences
  • Preferences saved to localStorage
  • Analytics scripts only load if accepted
  • Link to full Cookie Policy

16. Collapsible Active Sessions Section

Category: UI/UX - Settings Effort: 1 hour Files:

  • app/settings/page.tsx
  • components/features/settings/ActiveSessions.tsx

Requirements:

  • Make "Active Sessions" section collapsible
  • Start collapsed by default (show count)
  • Expand to show session details
  • Same for "Trusted Devices" section

Acceptance Criteria:

  • Active Sessions section is collapsible
  • Shows "Active Sessions (3)" when collapsed
  • Expand/collapse icon (chevron)
  • Smooth accordion animation
  • State persisted during session (not across refreshes)
  • Trusted Devices section also collapsible

Existing High Priority Features (8 features)

Backend (2 features)

1. AI Personalization System

Category: AI Features
Effort: 4 hours
Files:

  • src/modules/ai/personalization.service.ts (exists but needs enhancement)
  • src/modules/ai/ai.service.ts (integrate personalization)

Requirements:

  • Track user preferences (tone, detail level, topics)
  • Learn from feedback (thumbs up/down)
  • Adjust response style based on history
  • Store preference profiles in UserPreferences entity

Acceptance Criteria:

  • Preference tracking for tone/style
  • Feedback integration for learning
  • Personalized prompt generation
  • A/B testing for response styles

2. Growth Spurt Detection

Category: Analytics
Effort: 3 hours
Files:

  • src/modules/analytics/pattern-detection.service.ts (new)
  • src/modules/analytics/analytics.service.ts (integrate)

Requirements:

  • Analyze feeding frequency patterns
  • Detect sleep regression periods
  • Identify growth spurt indicators
  • Generate parent notifications

Acceptance Criteria:

  • Feeding frequency spike detection (>20% increase)
  • Sleep pattern disruption detection
  • Growth spurt probability calculation
  • Smart notification generation

Frontend (4 features)

3. AI Response Feedback UI

Category: AI Features
Effort: 2 hours
Files:

  • components/features/ai-chat/AIChatInterface.tsx (modify)
  • components/features/ai-chat/MessageFeedback.tsx (new)

Requirements:

  • Thumbs up/down buttons on each AI message
  • Optional feedback text input
  • Visual confirmation on submission
  • Integration with existing feedback API

Acceptance Criteria:

  • Thumbs up/down buttons on assistant messages
  • Feedback modal for additional comments
  • Success toast on submission
  • API integration with POST /feedback

API Endpoints: Already exists - POST /feedback


4. Touch Target Verification

Category: Accessibility
Effort: 3 hours
Files: All interactive components

Requirements:

  • Verify all buttons/links meet 44x44px (iOS) / 48x48dp (Android)
  • Add padding where necessary
  • Test on mobile devices
  • Document exceptions

Acceptance Criteria:

  • Audit all clickable elements
  • Fix undersized touch targets
  • Test on iOS simulator
  • Test on Android emulator

5. Alt Text for Images

Category: Accessibility
Effort: 2 hours
Files:

  • components/features/photos/PhotoGallery.tsx
  • components/features/children/ChildCard.tsx
  • All components with images

Requirements:

  • Add alt text to all images
  • Use descriptive, meaningful text
  • Support user-provided descriptions for photos
  • Follow WCAG 2.1 guidelines

Acceptance Criteria:

  • Alt text on all tags
  • Photo upload form includes alt text field
  • Default alt text generation for child photos
  • Screen reader testing

6. Form Accessibility Enhancement

Category: Accessibility
Effort: 2 hours
Files:

  • components/common/forms/ (all form components)
  • Activity tracking forms
  • Settings forms

Requirements:

  • Explicit label associations (htmlFor)
  • Error message associations (aria-describedby)
  • Required field indicators (aria-required)
  • Form validation announcements

Acceptance Criteria:

  • All inputs have associated labels
  • Error messages linked with aria-describedby
  • Required fields marked with aria-required
  • Form submission errors announced

Infrastructure (2 features)

7. Docker Production Images

Category: Deployment
Effort: 3 hours
Files:

  • maternal-app-backend/Dockerfile.production (new)
  • maternal-web/Dockerfile.production (new)
  • docker-compose.production.yml (new)

Requirements:

  • Multi-stage builds for optimization
  • Security scanning in CI/CD
  • Non-root user execution
  • Minimal base images (Alpine)
  • Layer caching optimization

Acceptance Criteria:

  • Backend Dockerfile with multi-stage build
  • Frontend Dockerfile with Next.js optimization
  • Image size < 200MB for backend, < 150MB for frontend
  • Security scan passes (Trivy/Snyk)

8. Integration & E2E Testing

Category: Testing
Effort: 12 hours
Priority: High

Requirements:

  • Integration tests for API flows
  • E2E tests for critical user journeys
  • Test coverage reports
  • CI/CD integration

Files to Create:

  • test/integration/ (multiple test files)
  • test/e2e/ (Playwright/Cypress tests)

Acceptance Criteria:

  • Integration tests for auth flow
  • Integration tests for activity tracking
  • E2E test: User registration to first activity
  • E2E test: AI chat conversation
  • E2E test: Family invitation flow
  • Coverage reports in CI/CD

Testing Tools:

  • Jest (integration tests)
  • Playwright or Cypress (E2E tests)
  • Coverage: Jest + Istanbul

🟡 MEDIUM PRIORITY (18 Features)

Backend Features (10 features)

9. Meal Planning System

Category: Tracking Features
Effort: 8 hours

Requirements:

  • Weekly meal planning interface
  • Recipe suggestions by age group
  • Nutritional tracking
  • Shopping list generation
  • Family meal coordination

Files to Create:

  • src/modules/meal-planning/meal-planning.module.ts
  • src/modules/meal-planning/meal-planning.service.ts
  • src/modules/meal-planning/meal-planning.controller.ts
  • src/database/entities/meal-plan.entity.ts

10. Financial Tracking

Category: Tracking Features
Effort: 6 hours

Requirements:

  • Track child-related expenses
  • Budget planning
  • Cost per child reports
  • Category breakdown
  • Monthly summaries

11. Calendar Integration

Category: Integrations
Effort: 6 hours

Requirements:

  • Google Calendar sync
  • Apple Calendar sync (CalDAV)
  • Outlook Calendar sync
  • Appointment tracking
  • Reminder sync

12. Smart Home Integration

Category: Integrations
Effort: 8 hours

Requirements:

  • Alexa skill for voice tracking
  • Google Home actions
  • Voice commands for common activities
  • Voice query responses

13. Email Digests

Category: Notifications
Effort: 4 hours

Requirements:

  • Daily/weekly email summaries
  • Activity highlights
  • Pattern insights
  • Customizable frequency

14. Photo Tagging System

Category: Photos
Effort: 4 hours

Requirements:

  • Tag people in photos
  • Tag activities/events
  • Tag milestones
  • Search photos by tags

15. Advanced Export Formats

Category: Analytics
Effort: 3 hours

Requirements:

  • Export to CSV
  • Export to JSON
  • Generate PDF reports
  • Custom date ranges
  • Multi-child exports

16. Medication Reminders Enhanced

Category: Notifications
Effort: 3 hours

Requirements:

  • Recurring medication schedules
  • Dosage tracking
  • Refill reminders
  • Multiple medications per child

17. GraphQL Subscriptions

Category: API Enhancement
Effort: 4 hours

Requirements:

  • Real-time data updates via GraphQL subscriptions
  • Activity creation subscriptions
  • Family sync subscriptions
  • Notification subscriptions

18. Voice Suggested Prompts

Category: Voice Features
Effort: 2 hours

Requirements:

  • Context-aware voice suggestions
  • Common phrase templates
  • Recent activity suggestions
  • Time-based suggestions

Frontend Features (6 features)

19. Suggested Follow-Up Questions (AI Chat)

Category: AI UX
Effort: 3 hours

Requirements:

  • Quick reply buttons in AI chat
  • Context-aware suggestions
  • 3-5 suggestions per response
  • One-tap to ask follow-up

20. Meal Planning UI

Category: Tracking Features
Effort: 6 hours

Requirements:

  • Weekly calendar view
  • Recipe cards
  • Drag-and-drop meal assignment
  • Shopping list view
  • Nutritional summaries

21. Financial Tracking UI

Category: Tracking Features
Effort: 5 hours

Requirements:

  • Expense entry form
  • Budget dashboard
  • Category breakdown charts
  • Monthly reports
  • Export functionality

22. Photo Tagging UI

Category: Photos
Effort: 4 hours

Requirements:

  • Tag input on photo view
  • Auto-complete for existing tags
  • Tag filtering in gallery
  • Bulk tagging support

23. Community Forums UI (Post-MVP)

Category: Social Features
Effort: 8 hours

Requirements:

  • Topic-based discussion forums
  • Post creation/editing
  • Comment threading
  • Moderation tools
  • Topic subscriptions

24. Calendar Integration UI

Category: Integrations
Effort: 4 hours

Requirements:

  • Calendar connection settings
  • Event sync status
  • Appointment list view
  • Sync conflict resolution UI

Infrastructure (2 features)

25. Performance Monitoring Dashboard

Category: Monitoring
Effort: 4 hours

Requirements:

  • Visualization of request duration metrics
  • Slow query dashboard
  • Cache hit/miss rates
  • Error rate tracking
  • Real-time updates

26. Load Testing

Category: Testing
Effort: 6 hours

Requirements:

  • k6 or Artillery setup
  • API load testing
  • Database stress testing
  • WebSocket load testing

🟢 LOW PRIORITY - Post-MVP (40 Features)

Backend Features (18 features)

  1. Community Forums Backend
  2. Advanced Pattern Recognition
  3. Vaccination Tracking
  4. Multi-Language Content Translation
  5. Advanced Voice Features
  6. AI Training Data Export
  7. Third-Party Integrations (Fitbit, Apple Health)
  8. Telemedicine Integration
  9. School/Daycare Integration
  10. Advanced Analytics (peer comparison)
  11. Gamification System
  12. Advanced Notifications (smart timing)
  13. Data Science Features (predictive modeling)
  14. Video Storage
  15. Advanced Security (E2E encryption)
  16. Performance Optimization (CDN, caching)
  17. Microservices Architecture
  18. Multi-Tenancy Support

Frontend Features (15 features)

  1. Advanced Data Visualization (D3.js)
  2. Offline Mode Enhancements
  3. Advanced Accessibility (high contrast, reduced motion)
  4. Animations & Micro-interactions
  5. Customization Features (themes)
  6. Multi-Child Views (side-by-side)
  7. Advanced Search
  8. Sharing Features
  9. Tutorial System
  10. Voice UI Enhancements
  11. Notification Center
  12. Quick Actions Dashboard
  13. Profile Customization
  14. Advanced Settings

Infrastructure & Testing (7 features)

  1. Code Coverage Dashboard
  2. Blue-Green Deployment
  3. Mobile App Store Distribution
  4. Fastlane Automation
  5. TestFlight & Beta Distribution
  6. CodePush OTA Updates
  7. Advanced Monitoring (APM)
  8. Security Auditing

📋 Implementation Checklist

Week 1-2: High Priority UX Polish

  • AI Response Feedback UI (2h)
  • Touch Target Verification (3h)
  • Alt Text for Images (2h)
  • Form Accessibility Enhancement (2h)

Week 3-4: Infrastructure Hardening

  • Docker Production Images (3h)
  • Integration & E2E Testing (12h)

Week 5-6: Medium Priority Features

  • Growth Spurt Detection (3h)
  • AI Personalization System (4h)
  • Suggested Follow-Up Questions (3h)

Week 7-8: Post-MVP Planning

  • Meal Planning System (8h backend + 6h frontend)
  • Financial Tracking (6h backend + 5h frontend)

📊 Pre-Launch Checklist

  • Unit test coverage > 80%
  • Integration test coverage > 60% (current: 0%)
  • E2E test coverage for critical paths (current: 0%)
  • WCAG 2.1 AA compliance (Phase 1)
  • Security scan passed
  • Performance budget met
  • COPPA/GDPR compliance verified
  • Load testing completed (not yet)
  • Mobile app store ready (post-MVP)


Last Updated: October 3, 2025
Next Review: Weekly during active development