# sdkwala/flutter_smart_form_builder architecture

> Architecture diagram of the GitHub repository sdkwala/flutter_smart_form_builder, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sdkwala/flutter_smart_form_builder
- Repository: https://github.com/sdkwala/flutter_smart_form_builder

## Overview

smart_form_builder is a reusable Flutter SDK for rendering configurable, multilingual forms, not a standalone app. Its documented user workflow is to provide field definitions to SmartForm, collect edits, and receive submitted values through onSubmit. The README also describes JSON-schema parsing, built-in field types, multi-step forms, theming, validation, conditional visibility, and plugin support. Source excerpts were unavailable, so internal links are limited to relationships suggested by the documented API and named modules.

Main entry points: [`lib/smart_form_builder.dart`](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/smart_form_builder.dart) (SmartForm), [`lib/builders/field_factory.dart`](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/builders/field_factory.dart) (Field factory), [`lib/exporters/schema_parser.dart`](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/exporters/schema_parser.dart) (Schema parser), [`lib/plugins/smart_plugin_registry.dart`](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/plugins/smart_plugin_registry.dart) (Plugin registry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_form_runtime["Form runtime"]
  node_smart_form["SmartForm"]
  node_field_factory["Field factory<br/>[field_factory.dart]"]
  node_form_models["Field and step models"]
  node_step_wizard["Multi-step wizard<br/>[step_model.dart]"]
end

subgraph group_field_types["Field types"]
  node_field_widgets["Built-in field widgets"]
end

subgraph group_configuration["Configuration"]
  node_schema_parser["Schema parser<br/>[schema_parser.dart]"]
  node_theme["Form theme"]
  node_decoration["Field decoration"]
  node_validation_logic["Validation and visibility"]
end

subgraph group_extensions["Extensions"]
  node_plugin_registry["Plugin registry"]
end

node_app_author(("Flutter app"))
node_custom_plugin["Custom fields and data"]
node_schema_input["JSON schema"]
node_form_user(("Form user"))

node_app_author -->|"provides fields"| node_smart_form
node_schema_input -->|"parsed by"| node_schema_parser
node_app_author -->|"uses schema"| node_schema_parser
node_app_author -->|"sets theme"| node_smart_form
node_app_author -->|"sets steps"| node_smart_form
node_form_user -->|"edits form"| node_smart_form
node_smart_form -->|"builds fields"| node_field_factory
node_field_factory -->|"selects widgets"| node_field_widgets
node_smart_form -->|"uses definitions"| node_form_models
node_smart_form -->|"validates and filters"| node_validation_logic
node_smart_form -->|"supports steps"| node_step_wizard
node_custom_plugin -.->|"registers extensions"| node_plugin_registry
node_smart_form -.->|"resolves plugins"| node_plugin_registry
node_smart_form -->|"submits values"| node_form_user

click node_smart_form "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/smart_form_builder.dart"
click node_field_factory "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/builders/field_factory.dart"
click node_form_models "https://github.com/sdkwala/flutter_smart_form_builder/tree/main/lib/models"
click node_step_wizard "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/models/step_model.dart"
click node_field_widgets "https://github.com/sdkwala/flutter_smart_form_builder/tree/main/lib/widgets"
click node_schema_parser "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/exporters/schema_parser.dart"
click node_theme "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/themes/smart_form_theme.dart"
click node_decoration "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/utils/decoration_builder.dart"
click node_validation_logic "https://github.com/sdkwala/flutter_smart_form_builder/tree/main/lib"
click node_plugin_registry "https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/plugins/smart_plugin_registry.dart"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_smart_form,node_field_factory,node_form_models,node_step_wizard,node_form_user toneBlue
class node_field_widgets toneAmber
class node_schema_parser,node_theme,node_decoration,node_validation_logic toneMint
class node_plugin_registry toneRose
class node_app_author,node_custom_plugin,node_schema_input toneIndigo
```

## Components

### Form runtime

- [SmartForm](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/smart_form_builder.dart): `lib/smart_form_builder.dart`
- [Field factory](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/builders/field_factory.dart): `lib/builders/field_factory.dart`
- [Field and step models](https://github.com/sdkwala/flutter_smart_form_builder/tree/main/lib/models): `lib/models`
- [Multi-step wizard](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/models/step_model.dart): `lib/models/step_model.dart`

### Field types

- [Built-in field widgets](https://github.com/sdkwala/flutter_smart_form_builder/tree/main/lib/widgets): `lib/widgets`

### Configuration

- [Schema parser](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/exporters/schema_parser.dart): `lib/exporters/schema_parser.dart`
- [Form theme](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/themes/smart_form_theme.dart): `lib/themes/smart_form_theme.dart`
- [Field decoration](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/utils/decoration_builder.dart): `lib/utils/decoration_builder.dart`
- [Validation and visibility](https://github.com/sdkwala/flutter_smart_form_builder/tree/main/lib): `lib`

### Extensions

- [Plugin registry](https://github.com/sdkwala/flutter_smart_form_builder/blob/main/lib/plugins/smart_plugin_registry.dart): `lib/plugins/smart_plugin_registry.dart`

### Other components

- **Flutter app**
- **Custom fields and data**
- **JSON schema**
- **Form user**

## Connections

- Flutter app → SmartForm: provides fields
- JSON schema → Schema parser: parsed by
- Flutter app → Schema parser: uses schema
- Flutter app → SmartForm: sets theme
- Flutter app → SmartForm: sets steps
- Form user → SmartForm: edits form
- SmartForm → Field factory: builds fields
- Field factory → Built-in field widgets: selects widgets
- SmartForm → Field and step models: uses definitions
- SmartForm → Validation and visibility: validates and filters
- SmartForm → Multi-step wizard: supports steps
- Custom fields and data → Plugin registry: registers extensions
- SmartForm → Plugin registry: resolves plugins
- SmartForm → Form user: submits values
