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

44 lines
2.1 KiB
Markdown

# 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