Files
digital-pilates/CLAUDE.md
richarjiang 6cb0435b30 feat: add food camera and recognition features
- Implemented FoodCameraScreen for capturing food images with meal type selection.
- Created FoodRecognitionScreen for processing and recognizing food images.
- Added Redux slice for managing food recognition state and results.
- Integrated image upload functionality to cloud storage.
- Enhanced UI components for better user experience during food recognition.
- Updated FloatingFoodOverlay to navigate to the new camera screen.
- Added food recognition service for API interaction.
- Improved styling and layout for various components.
2025-09-04 10:18:42 +08:00

2.1 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Commands

  • Run on iOS: npm run ios

Architecture

  • Framework: React Native (Expo) with TypeScript using Expo Router for file-based navigation
  • State Management: Redux Toolkit with domain-specific slices (store/) and typed hooks (hooks/redux.ts)
  • Authentication: Custom auth guard system with useAuthGuard hook for protected navigation
  • Navigation:
    • File-based routing in app/ directory with nested layouts
    • Tab-based navigation with custom styling and haptic feedback
    • Route constants defined in constants/Routes.ts, every page should use Routes define and jump
  • UI System:
    • Themed components (ThemedText, ThemedView) with color scheme support
    • Custom icon system with IconSymbol component for iOS symbols
    • Reusable UI components in components/ui/
    • UI Colors in constants/Colors.ts
  • Data Layer:
    • API services in services/ directory with centralized API client
    • AsyncStorage for local persistence
    • Background task management for sync operations
  • Native Integration:
    • Health data integration with HealthKit
    • Apple Authentication
    • Camera and photo library access for posture assessment
    • Push notifications with background task support
    • Haptic feedback integration

Key Architecture Patterns

  • Redux Auto-sync: Listener middleware automatically syncs checkin data changes to backend
  • Type-safe Navigation: Uses Expo Router with TypeScript for route type safety
  • Authentication Flow: pushIfAuthedElseLogin function handles auth-protected navigation
  • Theme System: Dynamic theming with light/dark mode support and color tokens
  • Service Layer: Centralized API client with interceptors and error handling

Development Conventions

  • Use absolute imports with @/ prefix for all internal imports
  • Follow existing Redux slice patterns for state management
  • Implement auth guards using useAuthGuard hook for protected features
  • Use themed components for consistent styling
  • Follow established navigation patterns with typed routes