Instalación y Configuración

Requisitos Previos

Software Necesario

  1. Flutter SDK (3.0.0 o superior)
    class="highlight">
    1
    
    flutter --version
    
  2. Dart SDK (incluido con Flutter)
    class="highlight">
    1
    
    dart --version
    
  3. Firebase CLI
    class="highlight">
    1
    2
    
    npm install -g firebase-tools
    firebase --version
    
  4. Git
    class="highlight">
    1
    
    git --version
    
  5. Node.js (18+ para Cloud Functions)
    class="highlight">
    1
    
    node --version
    

    Instalación

    1. Clonar el Repositorio

    class="highlight">
    1
    2
    
    git clone https://github.com/SinCodigoLat/capi-app.git
    cd Capi-App
    

    2. Instalar Dependencias de Flutter

    class="highlight">
    1
    
    flutter pub get
    

    3. Configurar Firebase

    Opción A: Usando FlutterFire CLI

    class="highlight">
    1
    
    flutterfire configure
    

    Esto te guiará para:

    • Seleccionar plataformas (iOS, Android, Web)
    • Seleccionar proyecto Firebase
    • Configurar archivos de configuración

    Opción B: Configuración Manual

    1. Android: Copiar google-services.json a android/app/
    2. iOS: Configurar GoogleService-Info.plist en Xcode
    3. Web: Configurar en web/index.html

    4. Configurar Variables de Entorno

    Crear archivo .env en la raíz del proyecto:

    # Stripe
    STRIPE_PUBLIC_KEY=pk_live_...
    STRIPE_SECRET_KEY=sk_live_...
    
    # Zoom
    ZOOM_API_KEY=...
    ZOOM_API_SECRET=...
    
    # RevenueCat (iOS)
    REVENUECAT_API_KEY=...
    
    # N8N
    N8N_WEBHOOK_URL=https://...
    

    5. Configurar Cloud Functions

    class="highlight">
    1
    2
    
    cd firebase/functions
    npm install
    

    6. Configurar Firebase Emulators (Opcional)

    class="highlight">
    1
    
    firebase init emulators
    

    Configuración por Plataforma

    Android

    1. Configurar android/app/build.gradle:
      class="highlight">
      1
      2
      3
      4
      
      android {
          compileSdkVersion 33
          // ...
      }
      
    2. Verificar google-services.json en android/app/

    3. Configurar permisos en AndroidManifest.xml
    4. iOS

      1. Abrir proyecto en Xcode:
        class="highlight">
        1
        
        open ios/Runner.xcworkspace
        
      2. Configurar GoogleService-Info.plist

      3. Configurar Capabilities:
        • Push Notifications
        • Background Modes
      4. Configurar Info.plist con permisos necesarios
      5. Web

        1. Configurar Firebase en web/index.html

        2. Configurar firebase-messaging-sw.js para notificaciones

        3. Verificar CORS en Firebase Console

        Configuración de Servicios Externos

        Stripe

        1. Crear cuenta en Stripe
        2. Obtener API keys (Test y Live)
        3. Configurar webhooks en Stripe Dashboard
        4. Agregar webhook URL de N8N

        Zoom

        1. Crear app en Zoom Marketplace
        2. Obtener API Key y Secret
        3. Configurar redirect URLs
        4. Agregar credenciales en Firebase

        RevenueCat (iOS)

        1. Crear cuenta en RevenueCat
        2. Configurar App Store Connect
        3. Crear productos y offerings
        4. Configurar webhooks

        N8N

        1. Configurar instancia de N8N
        2. Crear workflows necesarios
        3. Configurar webhooks
        4. Agregar URLs en variables de entorno

        Verificación de Instalación

        Ejecutar en Desarrollo

        Web:

        class="highlight">
        1
        
        flutter run -d chrome
        

        Android:

        class="highlight">
        1
        
        flutter run -d android
        

        iOS:

        class="highlight">
        1
        
        flutter run -d ios
        

        Verificar Firebase

        class="highlight">
        1
        2
        
        firebase projects:list
        firebase use <project-id>
        

        Verificar Cloud Functions

        class="highlight">
        1
        2
        
        cd firebase/functions
        npm test
        

        Troubleshooting

        Problemas Comunes

        1. Error de dependencias:
          class="highlight">
          1
          2
          
          flutter clean
          flutter pub get
          
        2. Error de Firebase:
          • Verificar archivos de configuración
          • Verificar permisos en Firebase Console
        3. Error de build:
          • Verificar versión de Flutter
          • Verificar configuración de plataforma
        4. Próximos Pasos

          1. Estructura del Proyecto - Conoce la organización del código
          2. Backend Firebase - Entiende Firestore y servicios