Volver a proyectos
FULL-STACK · AUTOMATIZACIÓN · BASES DE DATOS

DataGest — Motor dinámico para la gestión de bases de datos

Plataforma full-stack que interpreta en tiempo de ejecución los metadatos de diferentes bases de datos SQL Server para generar automáticamente interfaces administrativas, formularios tipados y operaciones CRUD, reduciendo el desarrollo repetitivo de módulos de gestión.

  • Flutter
  • Dart
  • .NET 8
  • ASP.NET Core
  • Dapper
  • SQL Server
  • JWT
  • Provider
Vista principal de DataGest
Resumen del proyecto

La base de datos como fuente activa

DataGest convierte la estructura de una base de datos en una interfaz administrativa funcional. El sistema analiza tablas, columnas, tipos de datos, claves primarias, claves foráneas y campos autoincrementales para construir automáticamente formularios y operaciones CRUD, sin desarrollar manualmente una pantalla para cada tabla.

01

Problema

En una aplicación empresarial tradicional, cada módulo administrativo exige crear modelos, endpoints, formularios, validaciones, tablas, operaciones CRUD y relaciones entre entidades. Esta repetición incrementa el tiempo de desarrollo y complica el mantenimiento al incorporar nuevas bases de datos o módulos.

02

Solución

DataGest automatiza ese ciclo: una API interpreta el esquema de SQL Server y entrega metadata estructurada; Flutter la transforma en controles tipados, relaciones y operaciones administrativas reutilizables.

Dos componentes, un sistema dinámico

Aplicación Flutter

  • Recibe la metadata del esquema.
  • Genera controles para texto, números, fechas, booleanos y relaciones.
  • Construye listas y tablas con búsqueda, ordenamiento y paginación.
  • Gestiona el estado con Provider y consume la API mediante REST y JWT.

API en .NET 8

  • Inspecciona tablas, columnas, claves primarias, claves foráneas e identidades.
  • Genera INSERT, UPDATE, SELECT y GET BY ID en tiempo de ejecución.
  • Valida tablas y columnas contra el esquema.
  • Ejecuta consultas parametrizadas con Dapper y gestiona múltiples perfiles de conexión.
FULL-STACK COLLABORATION

Mi participación y responsabilidades

  • 01Desarrollo e integración de la aplicación móvil en Flutter.
  • 02Construcción de interfaces CRUD dinámicas basadas en metadata.
  • 03Formularios adaptativos según los tipos de datos de SQL Server.
  • 04Organización del frontend con Clean Architecture y módulos independientes.
  • 05Gestión de estado con Provider e integración REST/JWT.
  • 06Adaptación de claves foráneas a selectores relacionales.
  • 07Búsqueda, paginación, exportación y administración de datos.
  • 08Participación en la integración full-stack entre Flutter, .NET 8 y SQL Server.

Arquitectura y funcionamiento

  1. 1

    Selección de base de datos

    El usuario elige la base y el perfil de conexión.

  2. 2

    Introspección del esquema

    La API obtiene tablas, tipos, claves y relaciones.

  3. 3

    Metadata en JSON

    El backend entrega el esquema estructurado.

  4. 4

    Interfaz en Flutter

    La metadata se convierte en formularios y tablas.

  5. 5

    CRUD seguro

    La API valida y ejecuta consultas con Dapper.

Funcionalidades destacadas

  • CRUD generado dinámicamente
  • Formularios tipados automáticos
  • Detección de claves primarias y foráneas
  • Selectores para relaciones
  • Búsqueda, ordenamiento y paginación
  • Múltiples bases SQL Server
  • Importación mediante archivos SQL
  • Exportación CSV y JSON
  • Autenticación JWT
  • Perfiles Local, Azure y Remote
  • Módulos de educación, salud e inventario
  • Generación personalizada de aplicaciones APK

Tecnologías y arquitectura técnica

Frontend

  • Flutter
  • Dart
  • Provider
  • Clean Architecture
  • HTTP
  • SharedPreferences

Backend

  • .NET 8
  • ASP.NET Core Web API
  • ASP.NET Core MVC
  • Dapper
  • Swagger

Datos

  • SQL Server
  • Procedimientos almacenados
  • Introspección de esquemas

Seguridad

  • JWT
  • Consultas parametrizadas
  • Validación basada en metadata
ENGINEERING

Decisiones técnicas destacadas

  • Validación de tablas y columnas contra el esquema antes de generar SQL.
  • Consultas parametrizadas para reducir riesgos de inyección.
  • Exclusión automática de columnas IDENTITY en inserciones.
  • Contexto de base de datos independiente por petición.
  • Perfiles de conexión para distintos servidores.
  • Las cadenas de conexión nunca llegan al frontend.
  • Separación entre presentación, dominio, datos y lógica de negocio.

Alcance e impacto técnico

Tiempo de ejecuciónCRUD generado desde metadata
MultidatabasePerfiles para diferentes SQL Server
3 dominiosEducación, salud e inventario
9 módulosFrontend organizado y desacoplado

La separación entre Flutter, API y SQL Server crea una base reutilizable que reduce el código repetitivo requerido para incorporar nuevos módulos administrativos.

Ingeniería reutilizable desde la metadata

DataGest demuestra cómo la metadata de una base de datos puede convertirse en una fuente activa para automatizar interfaces y operaciones administrativas. El proyecto integra desarrollo móvil, arquitectura backend, seguridad y gestión dinámica de datos dentro de una solución reutilizable para diferentes contextos empresariales.