1. Arquitectura Flutter + backend .NET 8 con Novita AI

Curso Flutter y .NET 8 con Novita AI: índice completo paso a paso

0. Curso Flutter + .NET 8 + Novita AI: índice completo

1. Arquitectura Flutter + backend .NET 8 con Novita AI

2. Configurar entorno .NET 8 + Flutter + Firebase + Novita AI

3. Backend .NET 8: Auth Firebase y esqueleto API

4. Integrar Novita AI: text-to-image e image-to-image en .NET 8

5. Webhook Novita y procesamiento asíncrono

6. Firestore, modelos y endpoints de dominio

7. Flutter: login Google y configuración API

8. Flutter: subida de imagen y creación de invitaciones

9. Listado, estado y detalle de invitaciones

10. ControlNet completo en backend y Flutter

11. LLM con Novita: img2prompt y adaptación de prompts

12. Despliegue, checklist final y publicación WordPress

Bonus 01: vídeo con FFmpeg y flujo opcional

Bonus 02: importador de modelos Novita a Firestore

Bonus 03: Prompt Generator y administración básica

Bonus 03: Prompt Generator y administración básica

Actualizado: 20 de febrero de 2026.

Este capítulo define la arquitectura del curso para que entiendas cómo viajan los datos desde la app Flutter hasta Novita AI y cómo vuelve el resultado final por webhook.

Repositorio oficial del curso: curso-flutter-net8-novita-ai en GitHub.

Prerrequisitos

  1. Tener clonado o disponible codigo/ de esta serie.
  2. Contar con Firebase y Novita configurados para pruebas.
  3. Haber completado el capítulo anterior del curso.

Qué vas a construir

  1. App Flutter con login Google.
  2. API .NET 8 autenticada con Firebase.
  3. Generación asíncrona de imágenes en Novita.
  4. Persistencia en Firestore y archivos en Firebase Storage.

Componentes principales

  1. app/:
    • Pantalla de creación de invitación.
    • Subida de imagen.
    • Consulta de estado por Firestore.
  2. backend/InvitaIA.Api/:
    • InvitationsController para creación y consulta.
    • NovitaService para integración IA.
    • NovitaWebhookController para callback asíncrono.
  3. Firebase:
    • Auth (token del usuario).
    • Firestore (users/{uid}/public_invitations).
    • Storage (uploads/{uid}/{file}).
  4. Novita AI:
    • txt2img e img2img.
    • img2prompt.
    • chat/completions para adaptar prompt.
    • task-result + webhook.

Flujo E2E

  1. Flutter obtiene token de Firebase Auth.
  2. Flutter llama POST /api/invitations/create.
  3. Backend manda petición asíncrona a Novita (task_id).
  4. Novita responde por webhook.
  5. Backend descarga salida y sube a Storage.
  6. Firestore actualiza status, previewUrl, finalUrl.
  7. Flutter muestra resultado por stream/listado.

Validación rápida de arquitectura

cd codigo/backend
 dotnet build InvitaIA.Api.sln

# revisar endpoints disponibles
rg -n "\[Http(Post|Get|Put|Delete)" InvitaIA.Api/Controllers -S

Troubleshooting

  1. Si no ves cambios de estado en app: valida que webhook llegue a /api/webhooks/novita.
  2. Si create devuelve 401: revisa token Firebase en header Authorization.
  3. Si Firestore no guarda: valida Firebase:ProjectId y permisos de cuenta de servicio.

FAQ corta

¿Por qué usar webhook y no esperar la respuesta en la API?

Porque la generación de imagen es asíncrona y puede tardar más que una request HTTP normal.

¿Dónde vive la lógica de negocio principal?

En InvitationService y NovitaTaskWorker del backend.

¿La app consulta directamente Novita?

No. La app usa el backend como capa de dominio y seguridad.

Fuente verificada

  • Código del curso:
    • codigo/backend/InvitaIA.Api/Controllers/InvitationsController.cs
    • codigo/backend/InvitaIA.Api/Controllers/NovitaWebhookController.cs
    • codigo/backend/InvitaIA.Api/Workers/NovitaTaskWorker.cs
    • codigo/app/lib/services/api_service.dart
  • Documentación oficial Novita:

Share this content:

Curso Flutter y .NET 8 con Novita AI: índice completo paso a paso

0. Curso Flutter + .NET 8 + Novita AI: índice completo 2. Configurar entorno .NET 8 + Flutter + Firebase + Novita AI

David Cantón Nadales

David Cantón Nadales, ingeniero de software de Sevilla, España, es autor del bestseller Build Your own Metaverse with Unity. Reconocido como Microsoft MVP y Top Voices en Aplicaciones Móviles de LinkedIn. Con más de 20 años de experiencia, David ha liderado cientos proyectos a lo largo de su carrera, incluyendo videojuegos y aplicaciones de realidad virtual y aumentada con Oculus, Hololens, HTC Vive, DayDream y LeapMotion. Ha trabajado como Tech Lead en importantes multinacionales como Grupo Viajes El Corte Inglés y actualmente en SCRM Lidl del Grupo Schwarz. Fue embajador de la comunidad Samsung Dev Spain y organizador del Google Developers Group Sevilla. Durante el confinamiento por COVID-19, destacó como emprendedor social con la creación de Grita, una red social que facilitaba el apoyo psicológico entre personas. En 2022, ganó los Samsung Top Developers Awards.

Related Posts

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

You Missed

He creado Freeverso: una web de puzzles gratis para que los niños jueguen online

He creado Freeverso: una web de puzzles gratis para que los niños jueguen online

Ya disponible en Amazon: El libro que explica El Origen De Los Pueblos Andaluces

Ya disponible en Amazon: El libro que explica El Origen De Los Pueblos Andaluces

Ejercicio Misión Imposible en Batch para ASIR (con Bash y PowerShell)

Ejercicio Misión Imposible en Batch para ASIR (con Bash y PowerShell)

0. Curso Flutter + .NET 8 + Novita AI: índice completo

0. Curso Flutter + .NET 8 + Novita AI: índice completo

1. Arquitectura Flutter + backend .NET 8 con Novita AI

1. Arquitectura Flutter + backend .NET 8 con Novita AI

2. Configurar entorno .NET 8 + Flutter + Firebase + Novita AI

2. Configurar entorno .NET 8 + Flutter + Firebase + Novita AI