Lienzo Abierto: una galería de imágenes para aprender, adaptar y hacer tuya
Una galería de imágenes con búsqueda, favoritos e importación local. Código abierto, ilustraciones de ejemplo y un recorrido para adaptarla.
Guía para preparar el entorno local de una app Flutter + backend .NET 8 con Firebase y Novita AI, incluyendo variables y archivos de config.

Actualizado: 20 de febrero de 2026.
En este capítulo dejas listo el entorno para ejecutar el código de codigo/ sin improvisar configuraciones.
codigo/ de esta serie.codigo/ de esta serie.cd curso-flutter-net8-novita-ai
find codigo -maxdepth 2 -type d | sort
ls -la codigo/.env.example
Comprueba que existan:
codigo/backendcodigo/appcodigo/.env.examplecodigo/backend/InvitaIA.Api/Secrets/firebase-adminsdk.jsoncodigo/backend/InvitaIA.Api/appsettings.jsonFirebase:ProjectIdFirebase:StorageBucketNovitaApiKeyWebhookBaseUrlcodigo/app/android/app/google-services.jsoncodigo/app/ios/Runner/GoogleService-Info.plist--dart-define:flutter run --dart-define=API_BASE_URL=http://localhost:56449/api
cd codigo/backend
dotnet restore
cd ../app
flutter pub get
cd codigo/backend
dotnet build InvitaIA.Api.sln
dotnet test InvitaIA.Tests/InvitaIA.Tests.csproj
FirebaseJson en appsettings.json.WebhookBaseUrl debe ser público y accesible desde Novita.No, el flujo base funciona en local sin Docker.
Sí, pero este curso está escrito para proyecto Firebase real.
No hay secretos reales. Solo placeholders.
codigo/backend/InvitaIA.Api/appsettings.jsoncodigo/app/lib/configUrl.dartcodigo/app/android/app/google-services.json