Back to projects
FULL-STACK · AUTOMATION · DATABASES

DataGest — Dynamic database management engine

A full-stack platform that interprets SQL Server database metadata at runtime to automatically generate administrative interfaces, typed forms and CRUD operations, reducing repetitive development across management modules.

  • Flutter
  • Dart
  • .NET 8
  • ASP.NET Core
  • Dapper
  • SQL Server
  • JWT
  • Provider
DataGest main interface
Project overview

The database as an active source

DataGest turns a database structure into a functional administrative interface. It analyzes tables, columns, data types, primary keys, foreign keys and auto-increment fields to build forms and CRUD operations automatically, without manually developing a screen for every table.

01

Problem

In a traditional business application, every administrative module requires models, endpoints, forms, validation, tables, CRUD operations and entity relationships. This repetition increases development time and makes maintenance harder as databases and modules are added.

02

Solution

DataGest automates that cycle: an API interprets the SQL Server schema and provides structured metadata; Flutter turns it into typed controls, relationships and reusable administrative operations.

Two components, one dynamic system

Flutter application

  • Receives schema metadata.
  • Generates controls for text, numbers, dates, booleans and relationships.
  • Builds lists and tables with search, sorting and pagination.
  • Manages state with Provider and consumes the API through REST and JWT.

.NET 8 API

  • Inspects tables, columns, primary keys, foreign keys and identities.
  • Generates INSERT, UPDATE, SELECT and GET BY ID operations at runtime.
  • Validates tables and columns against the schema.
  • Runs parameterized Dapper queries and manages multiple connection profiles.
FULL-STACK COLLABORATION

My role and responsibilities

  • 01Flutter mobile application development and integration.
  • 02Metadata-driven dynamic CRUD interfaces.
  • 03Adaptive forms based on SQL Server data types.
  • 04Frontend organization through Clean Architecture and independent modules.
  • 05Provider state management and REST/JWT integration.
  • 06Foreign-key adaptation into relationship selectors.
  • 07Search, pagination, export and data administration.
  • 08Contribution to the full-stack integration between Flutter, .NET 8 and SQL Server.

Architecture and operation

  1. 1

    Database selection

    The user chooses a database and connection profile.

  2. 2

    Schema introspection

    The API reads tables, types, keys and relationships.

  3. 3

    JSON metadata

    The backend delivers a structured schema.

  4. 4

    Flutter interface

    Metadata becomes forms and tables.

  5. 5

    Safe CRUD

    The API validates and runs Dapper queries.

Key capabilities

  • Runtime CRUD generation
  • Automatically typed forms
  • Primary and foreign key detection
  • Relationship selectors
  • Search, sorting and pagination
  • Multiple SQL Server databases
  • SQL file structure import
  • CSV and JSON export
  • JWT authentication
  • Local, Azure and Remote profiles
  • Education, healthcare and inventory modules
  • Custom APK generation

Technology and technical architecture

Frontend

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

Backend

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

Data

  • SQL Server
  • Stored procedures
  • Schema introspection

Security

  • JWT
  • Parameterized queries
  • Metadata-based validation
ENGINEERING

Key engineering decisions

  • Tables and columns are checked against the schema before SQL is generated.
  • Parameterized queries reduce injection risks.
  • IDENTITY columns are automatically excluded from inserts.
  • Each request keeps its own database context.
  • Connection profiles support different servers.
  • Connection strings never reach the frontend.
  • Presentation, domain, data and business logic remain separated.

Technical scope and impact

RuntimeCRUD generated from metadata
Multi-databaseProfiles for different SQL Servers
3 domainsEducation, healthcare and inventory
9 modulesOrganized, decoupled frontend

Separating Flutter, the API and SQL Server creates a reusable foundation that reduces the repetitive code required to introduce new administrative modules.

Reusable engineering powered by metadata

DataGest shows how database metadata can become an active source for automating administrative interfaces and operations. The project brings together mobile development, backend architecture, security and dynamic data management in a reusable solution for different business contexts.