> ## Documentation Index
> Fetch the complete documentation index at: https://resources.devweekends.com/llms.txt
> Use this file to discover all available pages before exploring further.

# React Native Enterprise Mastery

> The complete guide to building production-ready, enterprise-grade mobile applications with React Native

<Frame>
  <img src="https://mintcdn.com/devweeekends/X0Fp4X8lMl-ZftoO/images/courses/react-native-crash-course/rn-hero.svg?fit=max&auto=format&n=X0Fp4X8lMl-ZftoO&q=85&s=12bf460449b53b8a6f014dde4bb3eb61" alt="React Native Enterprise Mastery" width="800" height="400" data-path="images/courses/react-native-crash-course/rn-hero.svg" />
</Frame>

## Welcome to React Native Enterprise Mastery

This is the **most comprehensive React Native course** available—designed to transform you from a beginner into a senior mobile engineer capable of building and shipping enterprise-grade applications. With **51 in-depth modules**, real-world projects, and battle-tested patterns used by companies like Meta, Shopify, and Discord, you'll master everything needed to build professional iOS and Android apps.

<CardGroup cols={2}>
  <Card title="51 Comprehensive Modules" icon="book">
    From fundamentals to advanced enterprise patterns
  </Card>

  <Card title="100+ Hours of Content" icon="clock">
    Deep-dive tutorials with hands-on exercises
  </Card>

  <Card title="10+ Real Projects" icon="mobile-screen">
    Build production-ready applications
  </Card>

  <Card title="Enterprise Patterns" icon="building">
    Scalable architecture used by top companies
  </Card>

  <Card title="Interview Ready" icon="clipboard-check">
    200+ interview questions with detailed answers
  </Card>

  <Card title="Lifetime Updates" icon="arrows-rotate">
    Stay current with React Native evolution
  </Card>
</CardGroup>

***

## Who Is This Course For?

<CardGroup cols={3}>
  <Card title="React Developers" icon="react">
    Web developers ready to build native mobile apps with their existing React skills
  </Card>

  <Card title="Mobile Developers" icon="mobile">
    Native iOS/Android developers exploring cross-platform solutions
  </Card>

  <Card title="Full Stack Engineers" icon="code">
    Engineers expanding their skillset to include mobile development
  </Card>

  <Card title="Tech Leads" icon="users">
    Leaders evaluating React Native for their teams and projects
  </Card>

  <Card title="Startup Founders" icon="rocket">
    Founders building MVPs that need to ship fast on both platforms
  </Card>

  <Card title="Career Changers" icon="graduation-cap">
    Developers transitioning into mobile development
  </Card>
</CardGroup>

***

## What You'll Master

<Steps>
  <Step title="React Native Fundamentals">
    Core components, styling, navigation, and the React Native ecosystem
  </Step>

  <Step title="TypeScript Integration">
    Type-safe development with advanced TypeScript patterns
  </Step>

  <Step title="State Management">
    Context API, Redux Toolkit, Zustand, and React Query
  </Step>

  <Step title="Native Features">
    Camera, GPS, notifications, biometrics, and device APIs
  </Step>

  <Step title="Performance Optimization">
    Build 60 FPS apps with proper optimization techniques
  </Step>

  <Step title="Testing Strategies">
    Unit, integration, and E2E testing with Jest and Detox
  </Step>

  <Step title="Security Best Practices">
    Secure storage, authentication, and data protection
  </Step>

  <Step title="CI/CD & Deployment">
    Automated pipelines and App Store deployment
  </Step>

  <Step title="Enterprise Architecture">
    Scalable patterns for large-scale applications
  </Step>

  <Step title="New Architecture">
    Fabric, TurboModules, and JSI for maximum performance
  </Step>
</Steps>

***

## Course Curriculum

### Part 1: Foundations (Modules 1-7)

<AccordionGroup>
  <Accordion title="Module 1: Introduction & Architecture" icon="rocket">
    <Card title="01. Introduction & Architecture" href="/courses/react-native-crash-course/01-intro-architecture">
      Understanding React Native's architecture and how it bridges JavaScript to native code
    </Card>

    **Topics:**

    * What is React Native and why use it
    * React Native vs Native vs Flutter vs Ionic
    * The JavaScript-to-Native bridge
    * New Architecture: Fabric, TurboModules, JSI
    * Hermes JavaScript engine
    * When to choose React Native
  </Accordion>

  <Accordion title="Module 2: Environment Setup" icon="gear">
    <Card title="02. Environment Setup" href="/courses/react-native-crash-course/02-environment-setup">
      Complete development environment setup for iOS and Android
    </Card>

    **Topics:**

    * Node.js and package managers
    * Expo vs React Native CLI
    * iOS setup (Xcode, CocoaPods, simulators)
    * Android setup (Android Studio, SDK, emulators)
    * VS Code configuration and extensions
    * Debugging tools setup
  </Accordion>

  <Accordion title="Module 3: Project Structure & Best Practices" icon="folder-tree">
    <Card title="03. Project Structure" href="/courses/react-native-crash-course/03-project-structure">
      Organizing your codebase for scalability and maintainability
    </Card>

    **Topics:**

    * Feature-based folder structure
    * Barrel exports and module organization
    * Configuration management
    * Environment variables
    * Path aliases and absolute imports
    * Monorepo considerations
  </Accordion>

  <Accordion title="Module 4: TypeScript in React Native" icon="code">
    <Card title="04. TypeScript" href="/courses/react-native-crash-course/04-typescript">
      Type-safe React Native development with TypeScript
    </Card>

    **Topics:**

    * TypeScript configuration for React Native
    * Typing components and props
    * Navigation type safety
    * API response typing
    * Generic components
    * Advanced TypeScript patterns
  </Accordion>

  <Accordion title="Module 5: Core Components Deep Dive" icon="cubes">
    <Card title="05. Core Components" href="/courses/react-native-crash-course/05-core-components">
      Mastering View, Text, Image, TextInput, and essential components
    </Card>

    **Topics:**

    * View and SafeAreaView
    * Text and typography
    * Image optimization and caching
    * TextInput and keyboard handling
    * Pressable and touch handling
    * Platform-specific components
  </Accordion>

  <Accordion title="Module 6: Styling & Theming" icon="palette">
    <Card title="06. Styling & Theming" href="/courses/react-native-crash-course/06-styling-theming">
      Creating beautiful, consistent UIs with theming systems
    </Card>

    **Topics:**

    * StyleSheet API deep dive
    * Dynamic styling patterns
    * Dark mode implementation
    * Theme providers and context
    * Styled-components and Tamagui
    * Design tokens
  </Accordion>

  <Accordion title="Module 7: Flexbox Mastery" icon="table-cells">
    <Card title="07. Flexbox Mastery" href="/courses/react-native-crash-course/07-flexbox-mastery">
      Complete guide to Flexbox layout in React Native
    </Card>

    **Topics:**

    * Flexbox fundamentals
    * Main axis vs cross axis
    * Flex grow, shrink, and basis
    * Absolute and relative positioning
    * Responsive layouts
    * Common layout patterns
  </Accordion>
</AccordionGroup>

***

### Part 2: Navigation & State (Modules 8-12)

<AccordionGroup>
  <Accordion title="Module 8: Navigation Fundamentals" icon="route">
    <Card title="08. Navigation Fundamentals" href="/courses/react-native-crash-course/08-navigation-fundamentals">
      Building multi-screen apps with React Navigation and Expo Router
    </Card>

    **Topics:**

    * React Navigation setup
    * Stack Navigator
    * Tab Navigator
    * Drawer Navigator
    * Expo Router file-based routing
    * Navigation options and headers
  </Accordion>

  <Accordion title="Module 9: Advanced Navigation" icon="diagram-project">
    <Card title="09. Advanced Navigation" href="/courses/react-native-crash-course/09-navigation-advanced">
      Complex navigation patterns and deep linking
    </Card>

    **Topics:**

    * Nested navigators
    * Authentication flows
    * Deep linking and universal links
    * Navigation state persistence
    * Custom navigators
    * Modal and overlay patterns
  </Accordion>

  <Accordion title="Module 10: State Management" icon="database">
    <Card title="10. State Management" href="/courses/react-native-crash-course/10-state-management">
      Local and global state management patterns
    </Card>

    **Topics:**

    * useState and useReducer
    * Context API patterns
    * State lifting and prop drilling
    * When to use global state
    * State persistence
    * State machine patterns
  </Accordion>

  <Accordion title="Module 11: Redux & Zustand" icon="layer-group">
    <Card title="11. Redux & Zustand" href="/courses/react-native-crash-course/11-redux-zustand">
      Production-ready global state management
    </Card>

    **Topics:**

    * Redux Toolkit setup
    * Slices and reducers
    * RTK Query for data fetching
    * Zustand for lightweight state
    * Jotai and Recoil alternatives
    * State persistence with MMKV
  </Accordion>

  <Accordion title="Module 12: Lists & Virtualization" icon="list">
    <Card title="12. Lists & Virtualization" href="/courses/react-native-crash-course/12-lists-virtualization">
      High-performance lists with FlatList and FlashList
    </Card>

    **Topics:**

    * FlatList optimization
    * SectionList for grouped data
    * FlashList for maximum performance
    * Pull-to-refresh
    * Infinite scrolling
    * List item optimization
  </Accordion>
</AccordionGroup>

***

### Part 3: Data & Networking (Modules 13-17)

<AccordionGroup>
  <Accordion title="Module 13: Forms & Validation" icon="file-lines">
    <Card title="13. Forms & Validation" href="/courses/react-native-crash-course/13-forms-validation">
      Building robust forms with validation
    </Card>

    **Topics:**

    * React Hook Form integration
    * Zod and Yup validation
    * Custom input components
    * Form state management
    * Multi-step forms
    * File uploads
  </Accordion>

  <Accordion title="Module 14: Networking & APIs" icon="wifi">
    <Card title="14. Networking & APIs" href="/courses/react-native-crash-course/14-networking-apis">
      HTTP requests, error handling, and API integration
    </Card>

    **Topics:**

    * Fetch API and Axios
    * Request/response interceptors
    * Error handling patterns
    * Retry logic
    * Request cancellation
    * API client architecture
  </Accordion>

  <Accordion title="Module 15: React Query & Data Fetching" icon="arrows-rotate">
    <Card title="15. React Query" href="/courses/react-native-crash-course/15-react-query">
      Server state management with TanStack Query
    </Card>

    **Topics:**

    * React Query setup
    * Queries and mutations
    * Caching strategies
    * Optimistic updates
    * Infinite queries
    * Prefetching and background refetch
  </Accordion>

  <Accordion title="Module 16: Local Storage & Databases" icon="hard-drive">
    <Card title="16. Local Storage" href="/courses/react-native-crash-course/16-local-storage">
      Persisting data locally with various storage solutions
    </Card>

    **Topics:**

    * AsyncStorage basics
    * MMKV for high-performance storage
    * SQLite with Expo
    * WatermelonDB for complex data
    * Realm database
    * Data migration strategies
  </Accordion>

  <Accordion title="Module 17: Authentication Patterns" icon="lock">
    <Card title="17. Authentication" href="/courses/react-native-crash-course/17-authentication">
      Implementing secure authentication flows
    </Card>

    **Topics:**

    * JWT authentication
    * OAuth and social login
    * Biometric authentication
    * Token refresh strategies
    * Secure token storage
    * Session management
  </Accordion>
</AccordionGroup>

***

### Part 4: Native Features (Modules 18-21)

<AccordionGroup>
  <Accordion title="Module 18: Native Modules & APIs" icon="plug">
    <Card title="18. Native Modules" href="/courses/react-native-crash-course/18-native-modules">
      Accessing device features and native APIs
    </Card>

    **Topics:**

    * Expo modules overview
    * Device information
    * Clipboard and sharing
    * Haptic feedback
    * App state and lifecycle
    * Linking and deep links
  </Accordion>

  <Accordion title="Module 19: Camera & Media" icon="camera">
    <Card title="19. Camera & Media" href="/courses/react-native-crash-course/19-camera-media">
      Working with camera, photos, and media
    </Card>

    **Topics:**

    * Expo Camera
    * Image picker
    * Video recording
    * Image manipulation
    * Media library access
    * Audio recording and playback
  </Accordion>

  <Accordion title="Module 20: Maps & Location" icon="map">
    <Card title="20. Maps & Location" href="/courses/react-native-crash-course/20-maps-location">
      Implementing maps and location-based features
    </Card>

    **Topics:**

    * React Native Maps
    * Expo Location
    * Geofencing
    * Background location
    * Geocoding
    * Custom map markers
  </Accordion>

  <Accordion title="Module 21: Push Notifications" icon="bell">
    <Card title="21. Push Notifications" href="/courses/react-native-crash-course/21-push-notifications">
      Local and remote push notifications
    </Card>

    **Topics:**

    * Expo Notifications
    * Firebase Cloud Messaging
    * Local notifications
    * Notification channels
    * Rich notifications
    * Background handling
  </Accordion>
</AccordionGroup>

***

### Part 5: Animations & Performance (Modules 22-26)

<AccordionGroup>
  <Accordion title="Module 22: Animation Fundamentals" icon="wand-magic-sparkles">
    <Card title="22. Animation Fundamentals" href="/courses/react-native-crash-course/22-animations-fundamentals">
      Creating smooth animations with the Animated API
    </Card>

    **Topics:**

    * Animated API basics
    * Timing and spring animations
    * Interpolation
    * Combining animations
    * Layout animations
    * Performance considerations
  </Accordion>

  <Accordion title="Module 23: Reanimated & Gestures" icon="hand-pointer">
    <Card title="23. Reanimated & Gestures" href="/courses/react-native-crash-course/23-reanimated-gestures">
      High-performance animations with Reanimated 3
    </Card>

    **Topics:**

    * Reanimated 3 setup
    * Worklets and shared values
    * Gesture Handler integration
    * Pan, pinch, and rotation gestures
    * Animated styles
    * Complex gesture interactions
  </Accordion>

  <Accordion title="Module 24: Performance Optimization" icon="gauge-high">
    <Card title="24. Performance" href="/courses/react-native-crash-course/24-performance">
      Building 60 FPS apps with optimization techniques
    </Card>

    **Topics:**

    * JS thread vs UI thread
    * Memoization strategies
    * Image optimization
    * Bundle size reduction
    * Hermes optimization
    * Lazy loading
  </Accordion>

  <Accordion title="Module 25: Memory Management" icon="memory">
    <Card title="25. Memory Management" href="/courses/react-native-crash-course/25-memory-management">
      Preventing memory leaks and optimizing memory usage
    </Card>

    **Topics:**

    * Memory leak detection
    * Cleanup patterns
    * Image memory management
    * Large list optimization
    * Garbage collection
    * Memory profiling
  </Accordion>

  <Accordion title="Module 26: Debugging & DevTools" icon="bug">
    <Card title="26. Debugging" href="/courses/react-native-crash-course/26-debugging">
      Debugging strategies and developer tools
    </Card>

    **Topics:**

    * React DevTools
    * Flipper integration
    * Network inspection
    * Performance profiling
    * Native debugging
    * Common issues and solutions
  </Accordion>
</AccordionGroup>

***

### Part 6: Testing (Modules 27-29)

<AccordionGroup>
  <Accordion title="Module 27: Unit Testing" icon="vial">
    <Card title="27. Unit Testing" href="/courses/react-native-crash-course/27-unit-testing">
      Testing components and logic with Jest
    </Card>

    **Topics:**

    * Jest configuration
    * Testing components
    * Mocking native modules
    * Snapshot testing
    * Testing hooks
    * Code coverage
  </Accordion>

  <Accordion title="Module 28: Integration Testing" icon="puzzle-piece">
    <Card title="28. Integration Testing" href="/courses/react-native-crash-course/28-integration-testing">
      Testing component interactions and flows
    </Card>

    **Topics:**

    * React Native Testing Library
    * Testing navigation
    * Testing forms
    * API mocking
    * Testing state management
    * Async testing patterns
  </Accordion>

  <Accordion title="Module 29: E2E Testing with Detox" icon="robot">
    <Card title="29. E2E Testing" href="/courses/react-native-crash-course/29-e2e-testing">
      End-to-end testing with Detox
    </Card>

    **Topics:**

    * Detox setup
    * Writing E2E tests
    * Device interactions
    * CI/CD integration
    * Test artifacts
    * Maestro alternative
  </Accordion>
</AccordionGroup>

***

### Part 7: Production Readiness (Modules 30-36)

<AccordionGroup>
  <Accordion title="Module 30: Accessibility" icon="universal-access">
    <Card title="30. Accessibility" href="/courses/react-native-crash-course/30-accessibility">
      Building inclusive apps for all users
    </Card>

    **Topics:**

    * Accessibility props
    * Screen reader support
    * Focus management
    * Color contrast
    * Testing accessibility
    * WCAG compliance
  </Accordion>

  <Accordion title="Module 31: Security Best Practices" icon="shield">
    <Card title="31. Security" href="/courses/react-native-crash-course/31-security">
      Securing your React Native application
    </Card>

    **Topics:**

    * Secure storage
    * Certificate pinning
    * Code obfuscation
    * Jailbreak/root detection
    * Data encryption
    * Security auditing
  </Accordion>

  <Accordion title="Module 32: Offline-First Architecture" icon="cloud-arrow-down">
    <Card title="32. Offline-First" href="/courses/react-native-crash-course/32-offline-first">
      Building apps that work without internet
    </Card>

    **Topics:**

    * Offline-first patterns
    * Network state detection
    * Data synchronization
    * Conflict resolution
    * Queue management
    * Optimistic UI
  </Accordion>

  <Accordion title="Module 33: Real-time Features" icon="bolt">
    <Card title="33. Real-time" href="/courses/react-native-crash-course/33-realtime">
      WebSockets, Server-Sent Events, and real-time data
    </Card>

    **Topics:**

    * WebSocket implementation
    * Socket.io integration
    * Real-time state updates
    * Presence indicators
    * Live notifications
    * Connection management
  </Accordion>

  <Accordion title="Module 34: Internationalization" icon="globe">
    <Card title="34. Internationalization" href="/courses/react-native-crash-course/34-i18n">
      Multi-language support and localization
    </Card>

    **Topics:**

    * i18next setup
    * Translation management
    * RTL support
    * Date and number formatting
    * Dynamic language switching
    * Pluralization
  </Accordion>

  <Accordion title="Module 35: Profiling & Monitoring" icon="chart-line">
    <Card title="35. Profiling" href="/courses/react-native-crash-course/35-profiling">
      Performance monitoring and profiling
    </Card>

    **Topics:**

    * Performance profiling
    * Systrace and Perfetto
    * Custom metrics
    * APM integration
    * User experience monitoring
    * Performance budgets
  </Accordion>

  <Accordion title="Module 36: Error Handling & Crash Reporting" icon="triangle-exclamation">
    <Card title="36. Error Handling" href="/courses/react-native-crash-course/36-error-handling">
      Graceful error handling and crash reporting
    </Card>

    **Topics:**

    * Error boundaries
    * Global error handling
    * Sentry integration
    * Crash reporting
    * Error recovery
    * User feedback collection
  </Accordion>
</AccordionGroup>

***

### Part 8: Architecture & Scaling (Modules 37-39)

<AccordionGroup>
  <Accordion title="Module 37: App Architecture Patterns" icon="sitemap">
    <Card title="37. Architecture Patterns" href="/courses/react-native-crash-course/37-architecture-patterns">
      Scalable architecture for large applications
    </Card>

    **Topics:**

    * Clean architecture
    * Feature-based architecture
    * Domain-driven design
    * Dependency injection
    * SOLID principles
    * Architecture decision records
  </Accordion>

  <Accordion title="Module 38: Monorepo & Code Sharing" icon="code-branch">
    <Card title="38. Monorepo" href="/courses/react-native-crash-course/38-monorepo">
      Sharing code between mobile, web, and backend
    </Card>

    **Topics:**

    * Monorepo setup with Nx/Turborepo
    * Shared packages
    * React Native Web
    * Code sharing strategies
    * Build optimization
    * Versioning strategies
  </Accordion>

  <Accordion title="Module 39: Expo Deep Dive" icon="box">
    <Card title="39. Expo Deep Dive" href="/courses/react-native-crash-course/39-expo-deep-dive">
      Advanced Expo features and development builds
    </Card>

    **Topics:**

    * Expo modules
    * Development builds
    * Config plugins
    * Custom native code
    * EAS Build
    * Expo updates
  </Accordion>
</AccordionGroup>

***

### Part 9: DevOps & Deployment (Modules 40-45)

<AccordionGroup>
  <Accordion title="Module 40: CI/CD Pipelines" icon="gears">
    <Card title="40. CI/CD" href="/courses/react-native-crash-course/40-ci-cd">
      Automated build and deployment pipelines
    </Card>

    **Topics:**

    * GitHub Actions setup
    * EAS Build integration
    * Automated testing
    * Code signing automation
    * Release management
    * Environment management
  </Accordion>

  <Accordion title="Module 41: App Store Deployment" icon="store">
    <Card title="41. Deployment" href="/courses/react-native-crash-course/41-deployment">
      Publishing to Apple App Store and Google Play
    </Card>

    **Topics:**

    * iOS build configuration
    * Android build configuration
    * App Store Connect
    * Google Play Console
    * App review guidelines
    * Release strategies
  </Accordion>

  <Accordion title="Module 42: OTA Updates" icon="cloud-arrow-up">
    <Card title="42. OTA Updates" href="/courses/react-native-crash-course/42-ota-updates">
      Over-the-air updates with EAS Update and CodePush
    </Card>

    **Topics:**

    * EAS Update setup
    * CodePush integration
    * Update strategies
    * Rollback mechanisms
    * Version management
    * Update analytics
  </Accordion>

  <Accordion title="Module 43: Analytics & Tracking" icon="chart-pie">
    <Card title="43. Analytics" href="/courses/react-native-crash-course/43-analytics">
      User analytics and event tracking
    </Card>

    **Topics:**

    * Analytics architecture
    * Firebase Analytics
    * Mixpanel/Amplitude
    * Custom events
    * User properties
    * Privacy compliance
  </Accordion>

  <Accordion title="Module 44: Feature Flags" icon="flag">
    <Card title="44. Feature Flags" href="/courses/react-native-crash-course/44-feature-flags">
      Controlled feature rollouts
    </Card>

    **Topics:**

    * Feature flag architecture
    * LaunchDarkly integration
    * Remote config
    * Gradual rollouts
    * Kill switches
    * Experimentation
  </Accordion>

  <Accordion title="Module 45: A/B Testing" icon="flask-vial">
    <Card title="45. A/B Testing" href="/courses/react-native-crash-course/45-ab-testing">
      Running experiments and A/B tests
    </Card>

    **Topics:**

    * A/B testing fundamentals
    * Firebase A/B Testing
    * Experiment design
    * Statistical significance
    * Result analysis
    * Iteration strategies
  </Accordion>
</AccordionGroup>

***

### Part 10: Advanced Topics (Modules 46-51)

<AccordionGroup>
  <Accordion title="Module 46: Design Systems" icon="swatchbook">
    <Card title="46. Design Systems" href="/courses/react-native-crash-course/46-design-systems">
      Building scalable design systems
    </Card>

    **Topics:**

    * Design system architecture
    * Token-based design
    * Component documentation
    * Storybook for React Native
    * Design-dev handoff
    * Maintaining consistency
  </Accordion>

  <Accordion title="Module 47: Component Libraries" icon="puzzle-piece">
    <Card title="47. Component Libraries" href="/courses/react-native-crash-course/47-component-libraries">
      Popular UI libraries and when to use them
    </Card>

    **Topics:**

    * React Native Paper
    * NativeBase
    * Tamagui
    * Gluestack UI
    * Custom component libraries
    * Library selection criteria
  </Accordion>

  <Accordion title="Module 48: Native Code Integration" icon="code">
    <Card title="48. Native Integration" href="/courses/react-native-crash-course/48-native-integration">
      Writing native modules in Swift and Kotlin
    </Card>

    **Topics:**

    * Native module architecture
    * iOS native modules (Swift)
    * Android native modules (Kotlin)
    * Native UI components
    * Bridging patterns
    * Third-party SDK integration
  </Accordion>

  <Accordion title="Module 49: New Architecture" icon="microchip">
    <Card title="49. New Architecture" href="/courses/react-native-crash-course/49-new-architecture">
      Fabric, TurboModules, and JSI
    </Card>

    **Topics:**

    * New architecture overview
    * Fabric renderer
    * TurboModules
    * JavaScript Interface (JSI)
    * Codegen
    * Migration strategies
  </Accordion>

  <Accordion title="Module 50: Interview Preparation" icon="clipboard-question">
    <Card title="50. Interview Prep" href="/courses/react-native-crash-course/50-interview-prep">
      200+ interview questions and answers
    </Card>

    **Topics:**

    * React Native fundamentals
    * Architecture questions
    * Performance optimization
    * System design
    * Coding challenges
    * Behavioral questions
  </Accordion>

  <Accordion title="Module 51: Capstone Project" icon="trophy">
    <Card title="51. Capstone Project" href="/courses/react-native-crash-course/51-capstone">
      Build a complete enterprise-grade application
    </Card>

    **Project: Full-Stack E-Commerce App**

    * User authentication
    * Product catalog with search
    * Shopping cart and checkout
    * Payment integration
    * Push notifications
    * Analytics and monitoring
    * App Store deployment
  </Accordion>
</AccordionGroup>

***

## Prerequisites

<Warning>
  **Before starting this course**, you should be comfortable with:

  * JavaScript ES6+ (arrow functions, destructuring, async/await, modules)
  * React fundamentals (components, props, state, hooks, context)
  * Basic TypeScript (types, interfaces, generics)
  * Git version control
  * Command line basics
</Warning>

***

## Development Environment

<Tabs>
  <Tab title="Required">
    * **Node.js 18+** - JavaScript runtime
    * **npm, yarn, or pnpm** - Package manager
    * **VS Code** - Recommended editor with extensions
    * **Expo Go** - Mobile app for testing
  </Tab>

  <Tab title="iOS Development">
    * **macOS** - Required for iOS development
    * **Xcode 15+** - iOS simulator and build tools
    * **CocoaPods** - iOS dependency manager
    * **Apple Developer Account** - For App Store deployment (\$99/year)
  </Tab>

  <Tab title="Android Development">
    * **Android Studio** - Android SDK and emulator
    * **Java 17+** - Required for Android builds
    * **Google Play Console** - For Play Store deployment (\$25 one-time)
  </Tab>
</Tabs>

***

## Learning Path

```
┌─────────────────────────────────────────────────────────────────────────────┐
│                        React Native Enterprise Mastery                        │
│                              Learning Path                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                               │
│  Week 1-2: Foundations                                                        │
│  ├── Introduction & Architecture                                              │
│  ├── Environment Setup                                                        │
│  ├── Project Structure                                                        │
│  ├── TypeScript Integration                                                   │
│  └── Core Components                                                          │
│                                                                               │
│  Week 3-4: UI & Navigation                                                    │
│  ├── Styling & Theming                                                        │
│  ├── Flexbox Mastery                                                          │
│  ├── Navigation Fundamentals                                                  │
│  └── Advanced Navigation                                                      │
│                                                                               │
│  Week 5-6: State & Data                                                       │
│  ├── State Management                                                         │
│  ├── Redux & Zustand                                                          │
│  ├── Lists & Virtualization                                                   │
│  ├── Forms & Validation                                                       │
│  └── Networking & APIs                                                        │
│                                                                               │
│  Week 7-8: Data & Auth                                                        │
│  ├── React Query                                                              │
│  ├── Local Storage                                                            │
│  └── Authentication                                                           │
│                                                                               │
│  Week 9-10: Native Features                                                   │
│  ├── Native Modules                                                           │
│  ├── Camera & Media                                                           │
│  ├── Maps & Location                                                          │
│  └── Push Notifications                                                       │
│                                                                               │
│  Week 11-12: Animations & Performance                                         │
│  ├── Animation Fundamentals                                                   │
│  ├── Reanimated & Gestures                                                    │
│  ├── Performance Optimization                                                 │
│  ├── Memory Management                                                        │
│  └── Debugging                                                                │
│                                                                               │
│  Week 13-14: Testing                                                          │
│  ├── Unit Testing                                                             │
│  ├── Integration Testing                                                      │
│  └── E2E Testing                                                              │
│                                                                               │
│  Week 15-16: Production Readiness                                             │
│  ├── Accessibility                                                            │
│  ├── Security                                                                 │
│  ├── Offline-First                                                            │
│  ├── Real-time Features                                                       │
│  ├── Internationalization                                                     │
│  ├── Profiling                                                                │
│  └── Error Handling                                                           │
│                                                                               │
│  Week 17-18: Architecture & DevOps                                            │
│  ├── Architecture Patterns                                                    │
│  ├── Monorepo                                                                 │
│  ├── Expo Deep Dive                                                           │
│  ├── CI/CD                                                                    │
│  ├── Deployment                                                               │
│  └── OTA Updates                                                              │
│                                                                               │
│  Week 19-20: Advanced & Capstone                                              │
│  ├── Analytics                                                                │
│  ├── Feature Flags                                                            │
│  ├── A/B Testing                                                              │
│  ├── Design Systems                                                           │
│  ├── Component Libraries                                                      │
│  ├── Native Integration                                                       │
│  ├── New Architecture                                                         │
│  ├── Interview Prep                                                           │
│  └── Capstone Project                                                         │
│                                                                               │
└─────────────────────────────────────────────────────────────────────────────┘
```

***

## Projects You'll Build

<CardGroup cols={2}>
  <Card title="1. Task Manager App" icon="list-check">
    CRUD operations, local storage, and state management
  </Card>

  <Card title="2. Weather App" icon="cloud-sun">
    API integration, geolocation, and beautiful UI
  </Card>

  <Card title="3. Social Media Feed" icon="newspaper">
    Infinite scrolling, image optimization, and caching
  </Card>

  <Card title="4. Chat Application" icon="comments">
    Real-time messaging with WebSockets
  </Card>

  <Card title="5. E-Commerce App" icon="cart-shopping">
    Full shopping experience with payments
  </Card>

  <Card title="6. Fitness Tracker" icon="heart-pulse">
    Health data, charts, and background tracking
  </Card>

  <Card title="7. Photo Sharing App" icon="images">
    Camera, filters, and media management
  </Card>

  <Card title="8. Maps & Delivery App" icon="truck">
    Real-time tracking and route optimization
  </Card>

  <Card title="9. Banking App" icon="building-columns">
    Security, biometrics, and transactions
  </Card>

  <Card title="10. Enterprise Dashboard" icon="chart-line">
    Analytics, charts, and data visualization
  </Card>
</CardGroup>

***

## Ready to Start?

<Card title="Begin Your Journey" icon="arrow-right" href="/courses/react-native-crash-course/01-intro-architecture">
  Start with Module 1: Introduction & Architecture to understand how React Native works under the hood
</Card>

***

## Interview Deep-Dive

<AccordionGroup>
  <Accordion title="You are a tech lead evaluating React Native for a fintech startup that needs to ship on iOS and Android within 4 months. What factors drive your decision, and what risks would you flag to the CTO?">
    **Strong Answer:**

    * React Native is a strong fit here. A fintech startup with a 4-month timeline cannot afford separate iOS and Android teams (that is 8-12 engineers minimum). React Native lets 3-4 full-stack engineers ship both platforms from a single TypeScript codebase, with 90%+ code reuse.
    * Key advantages for fintech specifically: over-the-air updates via EAS Update mean you can push compliance fixes and critical bug patches without waiting for App Store review (which can take 1-7 days). For a financial app, this is operationally significant.
    * Risks to flag: performance-sensitive screens like real-time stock charts or complex financial calculators may need native modules. Plan for this upfront by choosing a modular architecture where these components can be swapped from JS to native without rewriting the surrounding screens. Also, fintech apps face stricter App Store review scrutiny -- ensure biometric authentication, certificate pinning, and secure storage are implemented from day one, not bolted on later.
    * The Hermes engine should be enabled (it is the default now), which gives 53% faster startup and 26% less memory usage compared to JSC. On budget Android phones (common in emerging markets), this is the difference between a usable app and one that gets uninstalled.

    **Follow-up:** Six months post-launch, the app has grown to 50 screens with 200K daily active users. The CEO wants to add a feature that requires AR-based check scanning. How do you approach this without rewriting the app?

    **Follow-up Answer:**

    * This is a textbook case for a native module. Write the AR check scanning in Swift (using Apple Vision framework on iOS) and Kotlin (using ML Kit on Android). Expose a single `scanCheck()` function to the JS layer via a TurboModule that returns the extracted check data (routing number, account number, amount).
    * The rest of the flow -- confirmation screen, submission to your API, success/error handling -- stays in React Native. The native module handles only the camera and ML inference, which need to run at native speed.
    * Use Expo Modules if you are on Expo, or the standard TurboModule spec if on bare CLI. Either way, the JS-side API is a simple async function call. The 50 existing screens are completely untouched.
    * At 200K DAU, also invest in a proper CI/CD pipeline with EAS Build for automated builds, Detox for E2E testing of the check scanning flow, and Sentry for crash monitoring specific to the native module.
  </Accordion>

  <Accordion title="Compare the old React Native bridge architecture with the new architecture (JSI, Fabric, TurboModules). Why does the difference matter for production apps?">
    **Strong Answer:**

    * The old bridge was an asynchronous, JSON-serialized message queue between the JS thread and the native thread. Every interaction -- layout measurements, native module calls, event dispatching -- was serialized to JSON, put in a queue, and deserialized on the other side. This worked for most cases, but created three categories of problems: animation jank (each frame needed a round-trip), layout measurement delays (you could not synchronously measure a native view from JS), and startup overhead (all native modules loaded eagerly at launch).
    * JSI (JavaScript Interface) replaces the bridge with direct C++ bindings. JavaScript can hold references to native C++ objects and call methods on them directly -- no serialization, no async queue. This enables synchronous calls when needed (like measuring a view's dimensions before rendering) while still supporting async calls for non-blocking operations.
    * Fabric replaces the old UI Manager with a new renderer that creates a shared C++ shadow tree accessible from both JS and native threads simultaneously. This enables concurrent React features (Suspense, Transitions) and synchronous layout, which eliminates the "layout flash" where a component would briefly render with wrong dimensions.
    * TurboModules replace the old NativeModules system with lazy-loaded, type-safe modules. Instead of loading every native module at startup (even those the user may never use), TurboModules load on first access. For an app with 30 native modules where the user only touches 5 in a typical session, this significantly reduces cold start time.
    * In production, the aggregate impact is measurable: apps on the new architecture report 10-30% faster startup, smoother animations, and reduced memory usage. Meta's own apps were the first to migrate, validating the improvements at scale.

    **Follow-up:** You are migrating a large production app from old architecture to new architecture. What is your migration strategy, and what are the biggest risks?

    **Follow-up Answer:**

    * Migrate incrementally, not all at once. The new architecture supports interop mode where old-style native modules and Fabric components coexist with new-style ones. Start by enabling the new architecture in your app config, which activates JSI and the interop layer.
    * Migrate native modules to TurboModules one at a time, starting with the simplest ones (pure data modules with no UI). Write Codegen specs in TypeScript, generate the native interfaces, and implement them. Test each module in isolation before moving to the next.
    * The biggest risk is third-party library compatibility. Many popular libraries (Reanimated, React Native Screens, Gesture Handler) already support the new architecture, but check every dependency. Libraries that directly access the old bridge API will break. Audit your `package.json` against the React Native New Architecture compatibility tracker.
    * Run performance benchmarks before and after each migration step. The new architecture should improve performance, but regressions can happen if a library's interop path is slower than its old direct bridge path. Have rollback capability by maintaining a feature flag that switches between old and new architecture builds during the transition period.
  </Accordion>

  <Accordion title="A product manager asks you to guarantee 60fps scrolling performance on all supported devices, including 3-year-old budget Android phones. How do you approach this?">
    **Strong Answer:**

    * First, reframe the conversation: guaranteeing 60fps on every device is not realistic, but you can guarantee it on 95th-percentile devices and ensure graceful degradation on the rest. The key is defining a "minimum supported device" (e.g., Android devices with 3GB+ RAM, released 2021 or later) and testing against that baseline.
    * For list performance specifically, use FlashList instead of FlatList. FlashList is Shopify's drop-in replacement that uses a RecyclerView-inspired architecture -- it recycles views aggressively, which matters enormously on memory-constrained Android devices. Set `estimatedItemSize` accurately to avoid layout thrashing.
    * Optimize list items: wrap each item in `React.memo` with a custom comparison function, avoid inline styles and arrow functions in `renderItem`, use `expo-image` with memory-disk caching for images (the built-in Image component does not cache on Android by default), and ensure images are served at the correct resolution (do not load a 2000px image into a 100px thumbnail).
    * Move expensive computations off the JS thread. Use `InteractionManager.runAfterInteractions()` for non-urgent work, `requestAnimationFrame` for frame-aligned updates, and Reanimated worklets for animation-related calculations that must run on the UI thread.
    * Set up automated performance testing in CI. Use Detox to scroll through representative lists and capture frame timing metrics. Alert the team when a PR causes the p95 frame time to exceed 16ms. Without automated enforcement, performance regressions will creep in with every feature addition.

    **Follow-up:** The budget Android phone drops to 45fps during rapid scrolling of a list with complex card items that include images, badges, and animated progress bars. You have already applied all the optimizations above. What is your next move?

    **Follow-up Answer:**

    * Profile with Android Studio's CPU Profiler to identify whether the bottleneck is the JS thread (React reconciliation) or the UI thread (native view operations). If it is the JS thread, the React Profiler will show which components are re-rendering unnecessarily.
    * Consider simplifying the card layout for low-end devices. Use a `Platform` check combined with a device tier detection (based on available RAM) to render a simplified card variant that removes the animated progress bar and uses a static placeholder. This is the same approach Instagram uses -- they serve simpler UI to lower-end devices.
    * For the animated progress bars specifically, ensure they use Reanimated shared values (not React state) and `useAnimatedStyle` with `useNativeDriver`. If the animations are still costly, batch them -- only animate progress bars for items currently visible on screen, not for items in the buffer zone.
    * As a last resort, reduce the `windowSize` and `maxToRenderPerBatch` props on FlashList to lower the number of items rendered outside the viewport. This trades scroll smoothness (more blank areas during fast scrolling) for frame rate stability.
  </Accordion>
</AccordionGroup>
