A dynamic Flutter framework for building data-driven applications where the user interface and features are defined by a JSON configuration file.
flx_nocode_flutter is a powerful tool designed to accelerate the development of Flutter applications. The core principle is to define the entire application structure—from branding and themes to navigation and data entities—through a single, comprehensive JSON file.
This "no-code" approach allows for rapid iteration and deployment. You can change the app's appearance, add new pages, and connect to different data entities simply by modifying the configuration, without writing any new Dart code.
- JSON-Driven UI: Define your entire app layout, navigation, and entity connections in a
configuration.jsonfile. - Dynamic Theming: Easily customize branding, logos, and color schemes.
- Configurable Navigation: Build complex navigation menus with multiple levels of hierarchy.
- Entity-Based Views: Automatically generates data tables, forms, and views based on your defined "entities".
- Rapid Prototyping & Deployment: Go from concept to a functional application in record time.
The heart of this framework is the configuration.json file, which must be located in the asset/configuration/ directory. This file controls every aspect of the application's appearance and behavior.
A detailed guide to the structure of this file, including all available fields and a complete example, can be found in our documentation.
➡️ Read the Configuration JSON Documentation
➡️ Read the Entity JSON Documentation
➡️ Read the Variables Documentation
➡️ Read the Components Documentation
➡️ Read the String Interpolation Documentation
➡️ Read the Submit Workflow JSON Documentation
To get a local copy up and running, follow these simple steps.
- Flutter SDK: Make sure you have the Flutter SDK installed. See the official Flutter documentation for instructions.
- Clone the repo
git clone <your-repo-url>
- Navigate to the project directory
cd flx_nocode_flutter - Install dependencies
flutter pub get
- Run the application
flutter run
By default the app reads configs/entities from bundled assets under asset/configuration. You can point the app to a filesystem path at runtime (useful on macOS dev builds) by setting CONFIGURATION_FS_BASE_PATH:
# During development
CONFIGURATION_FS_BASE_PATH=/absolute/path/to/frontend flutter run -d macos
# Running a built .app
CONFIGURATION_FS_BASE_PATH=/absolute/path/to/frontend /path/to/YourApp.app/Contents/MacOS/YourAppExpected layout inside that folder:
configuration/configuration.jsonconfiguration/entity/*.json
If the path is not set or inaccessible, the app falls back to the bundled assets.
Distributed under the AGPL License. See LICENSE-AGPL for more information.