{"id":31556136,"url":"https://github.com/jongan69/prepai","last_synced_at":"2025-10-04T22:49:12.382Z","repository":{"id":312018587,"uuid":"1045987374","full_name":"jongan69/PrepAI","owner":"jongan69","description":"An AI-powered meal planning application that uses computer vision to analyze your ingredients and GPT-5 to generate personalized weekly meal plans with shopping lists and prep schedules.","archived":false,"fork":false,"pushed_at":"2025-08-28T05:47:26.000Z","size":30349,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T09:43:49.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://jongan69-prepai.expo.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jongan69.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-28T02:49:55.000Z","updated_at":"2025-08-28T09:42:04.000Z","dependencies_parsed_at":"2025-08-28T09:44:10.685Z","dependency_job_id":"a60770d2-5b8b-43df-874d-4832b3584032","html_url":"https://github.com/jongan69/PrepAI","commit_stats":null,"previous_names":["jongan69/prepai"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/jongan69/PrepAI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongan69%2FPrepAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongan69%2FPrepAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongan69%2FPrepAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongan69%2FPrepAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jongan69","download_url":"https://codeload.github.com/jongan69/PrepAI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jongan69%2FPrepAI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278386117,"owners_count":25978109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-04T22:49:11.070Z","updated_at":"2025-10-04T22:49:12.375Z","avatar_url":"https://github.com/jongan69.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PrepAI - AI-Powered Health \u0026 Fitness Companion\n\n## 🎯 Overview\n\n### Short Description\nPrepAI is a comprehensive health and fitness application that combines AI-powered meal planning, workout tracking, and progress monitoring. The app provides personalized health insights, workout routines, and nutrition tracking to help users achieve their fitness goals.\n\n### Long Description\nPrepAI revolutionizes personal health and fitness management by combining cutting-edge technology with user-friendly design. The application serves as your complete health companion, offering comprehensive workout tracking, detailed progress analytics, and intelligent meal planning capabilities.\n\nThe app features a robust workout library with 100+ pre-built routines across strength training, cardio, yoga, pilates, and functional fitness categories. Users can log detailed workout sessions, track exercises with sets, reps, weights, and rest periods, and monitor their progress over time with visual charts and analytics.\n\nFor nutrition and meal planning, PrepAI integrates with the Edamam recipe database to provide thousands of healthy meal options. The app includes comprehensive food logging, nutrition tracking with detailed macro and micronutrient analysis, and personalized meal suggestions based on user preferences and dietary restrictions.\n\nHealth monitoring is a core feature, allowing users to track weight entries with photo support, monitor daily water intake, log sleep quality and duration, and record mood and wellness indicators. The app provides insightful progress charts and goal tracking to keep users motivated and on track.\n\nBuilt with React Native and Expo, PrepAI offers a seamless cross-platform experience across iOS, Android, and Web. The app features an offline-first architecture with local SQLite database and cloud synchronization, ensuring data is always accessible and secure.\n\nThe application includes advanced features like device integration for health data import/export, personalized goal setting, and a sophisticated monetization model with subscription tiers and premium features. Whether you're a fitness beginner or an experienced athlete, PrepAI adapts to your skill level and provides the tools needed to achieve your health and fitness objectives.\n\n### Key Features\n- **Comprehensive Fitness Tracking**: Workout logging, exercise library, progress analytics\n- **Health Monitoring**: Weight, water, sleep, and nutrition tracking with detailed insights\n- **Recipe Integration**: Access to thousands of recipes via Edamam API\n- **Cross-Platform**: React Native with Expo for iOS, Android, and Web\n- **Offline-First**: Local SQLite database with cloud sync\n- **Advanced Analytics**: Visual charts, progress tracking, and goal monitoring\n- **Monetization Ready**: Advanced money model with personalized offers\n- **Device Integration**: Health app data import/export capabilities\n\n## 🏗️ Architecture\n\n### System Architecture\n\n```mermaid\ngraph TB\n    subgraph \"Client Layer\"\n        A[Mobile App - React Native]\n        B[Web App - React Native Web]\n        C[Expo Router Navigation]\n    end\n    \n    subgraph \"State Management\"\n        D[Zustand Stores]\n        E[React Context Providers]\n        F[Redux Toolkit]\n    end\n    \n    subgraph \"Data Layer\"\n        G[SQLite Database]\n        H[Prisma ORM]\n        I[Cloud Sync Service]\n    end\n    \n    subgraph \"API Layer\"\n        J[Expo Router API Routes]\n        K[Kroger API Integration]\n        L[Edamam Recipe API]\n        M[AIML Vision API]\n    end\n    \n    subgraph \"Authentication\"\n        N[Clerk Auth]\n        O[Token Management]\n    end\n    \n    subgraph \"External Services\"\n        P[PostgreSQL Database]\n        Q[EAS Build \u0026 Deploy]\n        R[Expo Updates]\n    end\n    \n    A --\u003e D\n    B --\u003e D\n    C --\u003e E\n    D --\u003e G\n    E --\u003e H\n    F --\u003e I\n    G --\u003e J\n    H --\u003e K\n    I --\u003e L\n    J --\u003e M\n    N --\u003e O\n    O --\u003e P\n    Q --\u003e R\n```\n\n### Database Schema\n\n```mermaid\nerDiagram\n    User {\n        string id PK\n        string clerkId UK\n        string name\n        string email\n        datetime createdAt\n        datetime updatedAt\n    }\n    \n    HealthProfile {\n        string id PK\n        string userId FK\n        float height\n        float weight\n        int age\n        string gender\n        datetime birthday\n        float targetWeight\n        int targetCalories\n        float targetWaterL\n        string activityLevel\n        string fitnessGoal\n        string heightUnit\n        string weightUnit\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    Workout {\n        string id PK\n        string userId FK\n        string title\n        string category\n        int durationMin\n        int calories\n        datetime date\n        string notes\n        boolean isCompleted\n        int totalTime\n        int restTime\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    Exercise {\n        string id PK\n        string workoutId FK\n        string name\n        int sets\n        int reps\n        float weightKg\n        int duration\n        float distance\n        int restTime\n        int order\n        boolean isCompleted\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    Meal {\n        string id PK\n        string userId FK\n        string name\n        string mealType\n        int calories\n        float protein\n        float carbs\n        float fat\n        datetime date\n        string notes\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    MealItem {\n        string id PK\n        string mealId FK\n        string userId FK\n        string name\n        int calories\n        float protein\n        float carbs\n        float fat\n        float quantity\n        string unit\n        boolean isHighInProtein\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    ProgressLog {\n        string id PK\n        string userId FK\n        datetime date\n        float waterL\n        float sleepHrs\n        string mood\n        float weightKg\n        int steps\n        int activeMinutes\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    WeightEntry {\n        string id PK\n        string userId FK\n        float weightKg\n        datetime date\n        string photo\n        string notes\n        float bodyFatPercentage\n        float muscleMassKg\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    WaterIntake {\n        string id PK\n        string userId FK\n        int amountMl\n        datetime date\n        datetime time\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    SleepEntry {\n        string id PK\n        string userId FK\n        float hours\n        string quality\n        datetime date\n        datetime bedtime\n        datetime wakeTime\n        string notes\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    Goal {\n        string id PK\n        string userId FK\n        string type\n        float target\n        float current\n        string unit\n        datetime startDate\n        datetime endDate\n        boolean isActive\n        string notes\n        datetime syncedAt\n        boolean isDeleted\n    }\n    \n    User ||--o{ HealthProfile : \"has\"\n    User ||--o{ Workout : \"creates\"\n    User ||--o{ Meal : \"logs\"\n    User ||--o{ MealItem : \"consumes\"\n    User ||--o{ ProgressLog : \"tracks\"\n    User ||--o{ WeightEntry : \"records\"\n    User ||--o{ WaterIntake : \"drinks\"\n    User ||--o{ SleepEntry : \"sleeps\"\n    User ||--o{ Goal : \"sets\"\n    Workout ||--o{ Exercise : \"contains\"\n    Meal ||--o{ MealItem : \"includes\"\n```\n```\n\n### Application Flow\n\n```mermaid\nflowchart TD\n    A[User Opens App] --\u003e B{Authenticated?}\n    B --\u003e|No| C[Onboarding Flow]\n    B --\u003e|Yes| D{First Time User?}\n    \n    C --\u003e E[Welcome Screen]\n    E --\u003e F[Personal Info Collection]\n    F --\u003e G[Goals Selection]\n    G --\u003e H[Health Profile Setup]\n    H --\u003e I[Complete Onboarding]\n    \n    D --\u003e|Yes| C\n    D --\u003e|No| J[Main App]\n    \n    J --\u003e K[Home Dashboard]\n    K --\u003e L{User Action}\n    \n    L --\u003e|Meal Planning| M[AI Meal Generator]\n    L --\u003e|Workout Tracking| N[Workout Library]\n    L --\u003e|Progress View| O[Analytics Dashboard]\n    L --\u003e|Profile| P[User Settings]\n    \n    M --\u003e Q[Image Upload]\n    Q --\u003e R[Computer Vision Analysis]\n    R --\u003e S[Recipe Generation]\n    S --\u003e T[Shopping List]\n    \n    N --\u003e U[Exercise Selection]\n    U --\u003e V[Workout Logging]\n    V --\u003e W[Progress Tracking]\n    \n    O --\u003e X[Charts \u0026 Insights]\n    X --\u003e Y[Goal Progress]\n    \n    P --\u003e Z[Health Profile]\n    Z --\u003e AA[Device Sync]\n    AA --\u003e BB[Data Export]\n```\n\n## 🚀 Features\n\n### Core Features\n\n#### 1. AI-Powered Meal Planning\n- **Computer Vision**: Upload photos of ingredients for automatic recognition\n- **GPT-4 Integration**: Generate personalized meal plans based on preferences\n- **Recipe Database**: Access to thousands of recipes via Edamam API\n- **Shopping Lists**: Automated grocery lists with Kroger pricing\n- **Nutrition Tracking**: Detailed macro and micronutrient analysis\n\n#### 2. Fitness Tracking\n- **Workout Library**: 100+ pre-built workouts across categories\n- **Exercise Tracking**: Log sets, reps, weights, and rest periods\n- **Progress Analytics**: Visual charts and progress indicators\n- **Goal Setting**: Personalized fitness targets and milestones\n\n#### 3. Health Monitoring\n- **Weight Tracking**: Daily weight entries with photo support\n- **Water Intake**: Hydration monitoring with reminders\n- **Sleep Tracking**: Sleep quality and duration logging\n- **Mood Tracking**: Daily mood and wellness indicators\n\n#### 4. Smart Features\n- **Offline Support**: Full functionality without internet\n- **Cloud Sync**: Automatic data synchronization\n- **Device Integration**: Health app data import/export\n- **Personalization**: AI-driven recommendations\n\n### Technical Features\n\n#### 1. Cross-Platform Development\n- **React Native**: Native performance on mobile\n- **Expo**: Rapid development and deployment\n- **Web Support**: Full web application\n- **TypeScript**: Type-safe development\n\n#### 2. Data Management\n- **SQLite**: Local database for offline functionality\n- **Prisma ORM**: Type-safe database operations\n- **Zustand**: Lightweight state management\n- **Redux Toolkit**: Advanced state management\n\n#### 3. API Integration\n- **Kroger API**: Real-time grocery pricing\n- **Edamam API**: Recipe database access\n- **AIML API**: Computer vision capabilities\n- **Clerk Auth**: Secure authentication\n\n#### 4. Monetization\n- **Money Model**: Advanced offer sequencing\n- **Personalization**: User behavior analysis\n- **A/B Testing**: Offer optimization\n- **Analytics**: Conversion tracking\n\n## 📱 Screens \u0026 Navigation\n\n### Navigation Structure\n\n```mermaid\ngraph TD\n    A[App Root] --\u003e B[Authentication]\n    A --\u003e C[Onboarding]\n    A --\u003e D[Main App]\n    \n    B --\u003e E[Login]\n    B --\u003e F[Signup]\n    B --\u003e G[Forgot Password]\n    \n    C --\u003e H[Welcome]\n    C --\u003e I[Personal Info]\n    C --\u003e J[Goals Selection]\n    C --\u003e K[Complete]\n    \n    D --\u003e L[Drawer Navigation]\n    L --\u003e M[Home Tab]\n    L --\u003e N[Workouts Tab]\n    L --\u003e O[Meals Tab]\n    L --\u003e P[Progress Tab]\n    L --\u003e Q[Profile]\n    \n    M --\u003e R[Dashboard]\n    M --\u003e S[Quick Actions]\n    \n    N --\u003e T[Workout Library]\n    N --\u003e U[Add Workout]\n    N --\u003e V[Workout History]\n    \n    O --\u003e W[Meal Planning]\n    O --\u003e X[Food Logging]\n    O --\u003e Y[Recipe Search]\n    \n    P --\u003e Z[Analytics]\n    P --\u003e AA[Charts]\n    P --\u003e BB[Goals]\n    \n    Q --\u003e CC[Settings]\n    Q --\u003e DD[Subscription]\n    Q --\u003e EE[Help]\n```\n\n### Screen Categories\n\n#### 1. Authentication \u0026 Onboarding\n- Welcome/Introduction screens\n- Personal information collection\n- Goals and preferences setup\n- Health profile configuration\n\n#### 2. Main Application\n- Home dashboard with overview\n- Workout tracking and library\n- Meal planning and logging\n- Progress analytics and charts\n\n#### 3. Profile \u0026 Settings\n- User profile management\n- Subscription and billing\n- Device connections\n- Data export/import\n\n## 🛠️ Technology Stack\n\n### Frontend\n- **React Native**: 0.79.5\n- **Expo**: 53.0.22\n- **TypeScript**: 5.8.3\n- **NativeWind**: 4.1.23 (Tailwind CSS for React Native)\n- **React Navigation**: Drawer and Tab navigation\n- **Reanimated**: 3.17.5 for animations\n\n### Backend \u0026 APIs\n- **Expo Router**: File-based routing with API routes\n- **Prisma**: Database ORM with PostgreSQL\n- **Clerk**: Authentication and user management\n- **Kroger API**: Grocery store integration\n- **Edamam API**: Recipe database\n- **AIML API**: Computer vision services\n\n### State Management\n- **Zustand**: Lightweight state management\n- **Redux Toolkit**: Advanced state management\n- **React Context**: Theme and database providers\n\n### Database\n- **SQLite**: Local mobile database\n- **PostgreSQL**: Cloud database\n- **Prisma Accelerate**: Database connection pooling\n\n### Development Tools\n- **ESLint**: Code linting\n- **Prettier**: Code formatting\n- **Jest**: Testing framework\n- **EAS Build**: App building and deployment\n\n## 📊 Data Flow\n\n### Sync Architecture\n\n```mermaid\nsequenceDiagram\n    participant U as User\n    participant A as App\n    participant L as Local DB\n    participant S as Sync Store\n    participant API as API Routes\n    participant C as Cloud DB\n    \n    U-\u003e\u003eA: Perform Action\n    A-\u003e\u003eL: Save to Local DB\n    A-\u003e\u003eS: Add Sync Operation\n    S-\u003e\u003eAPI: Send Sync Request\n    API-\u003e\u003eC: Update Cloud DB\n    C-\u003e\u003eAPI: Confirm Update\n    API-\u003e\u003eS: Mark as Synced\n    S-\u003e\u003eL: Update Local Record\n    A-\u003e\u003eU: Show Success\n```\n\n### API Request Flow\n\n```mermaid\nsequenceDiagram\n    participant C as Client\n    participant R as Router\n    participant A as Auth\n    participant S as Service\n    participant E as External API\n    participant D as Database\n    \n    C-\u003e\u003eR: API Request\n    R-\u003e\u003eA: Validate Token\n    A-\u003e\u003eR: User ID\n    R-\u003e\u003eS: Process Request\n    S-\u003e\u003eE: External API Call\n    E-\u003e\u003eS: Response Data\n    S-\u003e\u003eD: Save/Update Data\n    D-\u003e\u003eS: Confirmation\n    S-\u003e\u003eR: Formatted Response\n    R-\u003e\u003eC: JSON Response\n```\n\n## 🎯 Roadmap\n\n### Phase 1: Foundation (Q1 2024) ✅\n- [x] Core app architecture setup\n- [x] Authentication system (Clerk)\n- [x] Basic database schema\n- [x] Onboarding flow\n- [x] Home dashboard\n- [x] Basic navigation structure\n\n### Phase 2: Core Features (Q2 2024) ✅\n- [x] Workout tracking system\n- [x] Meal logging functionality\n- [x] Progress tracking\n- [x] Local database implementation\n- [x] Basic sync functionality\n- [x] UI/UX improvements\n\n### Phase 3: AI Integration (Q3 2024) 🚧\n- [ ] Computer vision for ingredient recognition\n- [ ] GPT-4 meal plan generation\n- [ ] Recipe recommendation engine\n- [ ] Smart shopping list generation\n- [ ] Nutritional analysis improvements\n\n### Phase 4: Advanced Features (Q4 2024) 📋\n- [ ] Advanced analytics and insights\n- [ ] Social features and sharing\n- [ ] Wearable device integration\n- [ ] Meal prep scheduling\n- [ ] Advanced goal tracking\n\n### Phase 5: Monetization (Q1 2025) 📋\n- [ ] Subscription system implementation\n- [ ] Premium feature development\n- [ ] Advanced money model\n- [ ] A/B testing framework\n- [ ] Analytics and optimization\n\n### Phase 6: Scale \u0026 Optimize (Q2 2025) 📋\n- [ ] Performance optimization\n- [ ] Advanced sync capabilities\n- [ ] Multi-language support\n- [ ] Advanced personalization\n- [ ] Enterprise features\n\n## 📅 Sprint Planning\n\n### Sprint 1: Authentication \u0026 Onboarding (2 weeks)\n**Goals**: Complete user authentication and onboarding flow\n- [x] Clerk authentication setup\n- [x] Welcome screens\n- [x] Personal information collection\n- [x] Goals selection\n- [x] Health profile setup\n- [x] Onboarding completion\n\n### Sprint 2: Core Navigation \u0026 Dashboard (2 weeks)\n**Goals**: Establish main app navigation and home dashboard\n- [x] Drawer navigation setup\n- [x] Tab navigation implementation\n- [x] Home dashboard design\n- [x] Quick action buttons\n- [x] Basic data display\n\n### Sprint 3: Database \u0026 State Management (2 weeks)\n**Goals**: Implement local database and state management\n- [x] SQLite database setup\n- [x] Prisma schema implementation\n- [x] Zustand store creation\n- [x] Data persistence\n- [x] Basic CRUD operations\n\n### Sprint 4: Workout Tracking (2 weeks)\n**Goals**: Complete workout tracking functionality\n- [x] Workout library\n- [x] Exercise tracking\n- [x] Workout logging\n- [x] Progress visualization\n- [x] Workout history\n\n### Sprint 5: Meal Planning Foundation (2 weeks)\n**Goals**: Basic meal planning and logging\n- [x] Meal logging interface\n- [x] Food database integration\n- [x] Nutrition tracking\n- [x] Meal history\n- [x] Basic meal suggestions\n\n### Sprint 6: Progress Tracking (2 weeks)\n**Goals**: Comprehensive progress monitoring\n- [x] Weight tracking\n- [x] Water intake logging\n- [x] Sleep tracking\n- [x] Progress charts\n- [x] Goal setting\n\n### Sprint 7: Sync \u0026 Cloud Integration (2 weeks)\n**Goals**: Implement cloud synchronization\n- [x] Sync service setup\n- [x] API routes implementation\n- [x] Conflict resolution\n- [x] Offline support\n- [x] Data backup\n\n### Sprint 8: AI Integration (3 weeks)\n**Goals**: Implement AI-powered features\n- [ ] Computer vision setup\n- [ ] GPT-4 integration\n- [ ] Recipe generation\n- [ ] Smart recommendations\n- [ ] Image analysis\n\n### Sprint 9: Shopping \u0026 Recipes (2 weeks)\n**Goals**: Shopping list and recipe features\n- [ ] Kroger API integration\n- [ ] Shopping list generation\n- [ ] Recipe database\n- [ ] Meal prep planning\n- [ ] Cost optimization\n\n### Sprint 10: Advanced Analytics (2 weeks)\n**Goals**: Enhanced analytics and insights\n- [ ] Advanced charts\n- [ ] Trend analysis\n- [ ] Predictive insights\n- [ ] Performance metrics\n- [ ] Goal progress tracking\n\n### Sprint 11: Monetization Setup (2 weeks)\n**Goals**: Implement monetization framework\n- [ ] Subscription system\n- [ ] Payment processing\n- [ ] Premium features\n- [ ] Money model implementation\n- [ ] Offer sequencing\n\n### Sprint 12: Polish \u0026 Launch Prep (2 weeks)\n**Goals**: Final polish and launch preparation\n- [ ] Performance optimization\n- [ ] Bug fixes\n- [ ] UI/UX improvements\n- [ ] Testing and QA\n- [ ] App store preparation\n\n## 🚀 Getting Started\n\n### Prerequisites\n- Node.js 18+ \n- Bun (recommended) or npm\n- Expo CLI\n- iOS Simulator (for iOS development)\n- Android Studio (for Android development)\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/jongan69/prepai.git\n   cd prepai\n   ```\n\n2. **Install dependencies**\n   ```bash\n   bun install\n   # or\n   npm install\n   ```\n\n3. **Environment Setup**\n   ```bash\n   # Copy environment template\n   cp .env.example .env\n   \n   # Configure environment variables\n   EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key\n   DATABASE_URL=your_postgresql_url\n   KROGER_CLIENT_ID=your_kroger_client_id\n   KROGER_CLIENT_SECRET=your_kroger_client_secret\n   EDAMAM_APP_ID=your_edamam_app_id\n   EDAMAM_APP_KEY=your_edamam_app_key\n   AIMLAPI_KEY=your_aiml_api_key\n   ```\n\n4. **Database Setup**\n   ```bash\n   # Generate Prisma client\n   bun run db:generate\n   \n   # Run migrations\n   bun run db:migrate\n   ```\n\n5. **Start Development Server**\n   ```bash\n   # Start Expo development server\n   bun run dev\n   \n   # Start with tunnel for device testing\n   bun run dev:tunnel\n   \n   # Platform-specific development\n   bun run dev:ios\n   bun run dev:android\n   bun run dev:web\n   ```\n\n### Development Commands\n\n```bash\n# Development\nbun run dev              # Start development server\nbun run dev:web          # Web development\nbun run dev:tunnel       # Tunnel for device testing\n\n# Building\nbun run prebuild         # Prebuild for native platforms\nbun run build:all        # Build for all platforms\nbun run export:web       # Export web build\n\n# Database\nbun run db:migrate       # Run database migrations\nbun run db:generate      # Generate Prisma client\n\n# Code Quality\nbun run lint             # Run ESLint\nbun run lint:fix         # Fix linting issues\nbun run format           # Format code with Prettier\n\n# Deployment\nbun run deploy:web:dev   # Deploy web to development\nbun run deploy:web:prod  # Deploy web to production\n```\n\n## 🏗️ Project Structure\n\n```\nPrepAI/\n├── src/\n│   ├── app/                    # Expo Router app directory\n│   │   ├── (root)/          # Mobile-specific routes\n│   │   │   ├── (index)/       # Main tab navigation\n│   │   │   ├── (onboarding)/  # Onboarding flow\n│   │   │   ├── (profile)/     # Profile and settings\n│   │   │   ├── (workout)/     # Workout screens\n│   │   │   └── (modals)/      # Modal screens\n│   │   └── api/               # API routes\n│   ├── components/            # Reusable components\n│   │   ├── forms/            # Form components\n│   │   ├── layout/           # Layout components\n│   │   └── screens/          # Screen components\n│   ├── contexts/             # React contexts\n│   ├── hooks/                # Custom hooks\n│   ├── lib/                  # Utility libraries\n│   ├── services/             # Service layer\n│   ├── stores/               # State management\n│   └── utils/                # Utility functions\n├── prisma/                   # Database schema and migrations\n├── assets/                   # Static assets\n├── dist/                     # Build output\n└── docs/                     # Documentation\n```\n\n## 🔧 Configuration\n\n### Environment Variables\n\n```bash\n# Authentication\nEXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key\n\n# Database\nDATABASE_URL=postgresql://user:password@host:port/database\n\n# External APIs\nKROGER_CLIENT_ID=your_kroger_client_id\nKROGER_CLIENT_SECRET=your_kroger_client_secret\nEDAMAM_APP_ID=your_edamam_app_id\nEDAMAM_APP_KEY=your_edamam_app_key\nAIMLAPI_KEY=your_aiml_api_key\n\n# App Configuration\nEXPO_PUBLIC_APP_ENV=development\nEXPO_PUBLIC_API_URL=https://your-api-url.com\n```\n\n### Build Configuration\n\nThe app uses EAS Build for cross-platform builds:\n\n```json\n{\n  \"build\": {\n    \"development\": {\n      \"developmentClient\": true,\n      \"distribution\": \"internal\"\n    },\n    \"preview\": {\n      \"distribution\": \"internal\"\n    },\n    \"production\": {\n      \"autoIncrement\": true\n    }\n  }\n}\n```\n\n## 🧪 Testing\n\n### Test Structure\n- **Unit Tests**: Jest for component and utility testing\n- **Integration Tests**: API route testing\n- **E2E Tests**: Detox for end-to-end testing (planned)\n\n### Running Tests\n```bash\n# Run all tests\nbun test\n\n# Run tests in watch mode\nbun test --watch\n\n# Run specific test file\nbun test src/components/Button.test.tsx\n```\n\n## 📱 Deployment\n\n### Mobile Deployment\n1. **EAS Build**: Automated builds for iOS and Android\n2. **App Store**: iOS App Store and Google Play Store\n3. **TestFlight**: Beta testing for iOS\n4. **Internal Testing**: Android internal testing\n\n### Web Deployment\n1. **Vercel**: Automatic deployments from main branch\n2. **Netlify**: Alternative deployment option\n3. **Custom Domain**: Configure custom domain\n\n### Deployment Commands\n```bash\n# Build for production\nbun run build:all\n\n# Deploy web\nbun run deploy:web:prod\n\n# Submit to app stores\neas submit --platform ios\neas submit --platform android\n```\n\n## 🤝 Contributing\n\n### Development Workflow\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n### Code Standards\n- **TypeScript**: Strict type checking enabled\n- **ESLint**: Code linting with custom rules\n- **Prettier**: Code formatting\n- **Conventional Commits**: Standard commit message format\n\n### Pull Request Process\n1. **Description**: Clear description of changes\n2. **Testing**: Include tests for new features\n3. **Documentation**: Update docs if needed\n4. **Review**: Code review required\n5. **Merge**: Squash and merge to main\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🆘 Support\n\n### Documentation\n- [Expo Documentation](https://docs.expo.dev/)\n- [React Native Documentation](https://reactnative.dev/)\n- [Prisma Documentation](https://www.prisma.io/docs/)\n\n### Community\n- [Discord Server](https://discord.gg/prepai)\n- [GitHub Issues](https://github.com/jongan69/prepai/issues)\n- [Email Support](mailto:support@prepai.com)\n\n### Troubleshooting\n\n#### Common Issues\n1. **Metro bundler issues**: Clear cache with `expo start -c`\n2. **Database connection**: Check DATABASE_URL in .env\n3. **Authentication**: Verify Clerk configuration\n4. **Build failures**: Check EAS build logs\n\n#### Performance Tips\n1. **Image optimization**: Use appropriate image formats and sizes\n2. **Bundle size**: Monitor with `expo doctor`\n3. **Database queries**: Optimize with Prisma query analysis\n4. **Memory usage**: Monitor with React Native Debugger\n\n---\n\n**PrepAI** - Revolutionizing health and fitness with AI-powered insights and personalized recommendations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongan69%2Fprepai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjongan69%2Fprepai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjongan69%2Fprepai/lists"}