Ercode CLI

Ercode CLI is an application to facilitate the process of creating Flutter applications faster, easier, and more simple. Ercode CLI will generate a module's code based on a JSON configuration.

Installation

// install
dart pub global activate ercode_cli 

// or with flutter
flutter pub global activate ercode_cli

// command use
ercode

Init Generator

ercode init

Setting URL API and token(optional) in file lib/helpers/constants.dart :

const baseUrl = '';
const apiToken = '';

Generate Code

example create module book with json config at generator/book.json :

{
    "name": "book",
    "fields": [
        {
            "name": "id",
            "type": "int",
            "primary": true,
            "hidden": true
        },
        {
            "name": "cover",
            "type": "String",
            "input": "image",
            "list": true
        },
        {
            "name": "name",
            "type": "String",
            "input": "text",
            "list": true
        },
        {
            "name": "author",
            "list": true
        },
        {
            "name": "genre"
        },
        {
            "name": "release_year",
            "type": "int"
        },
        {
            "name": "description"
            
        }
    ]
}

to generate code run command:

ercode generate generator/book.json

Paramaters Module

Key Required Default Description
name true Module name
api same with name endpoint API
model same with name Model name
only The list of modules that will be generated: model, repository, list, add, detail. If this is empty, then all of them will be generated.
fields true List of fields that will be generated. Please see the Field parameters for details.

Paramaters Field

Key Required Default Description
name true Field name
type true String Data types in Flutter : String, int, bool
input text Type of field on create page: text, image
hidden false To indicate that this field will not appear on the create page
primary false Indicating this field as primary key
list false Indicating this field will be shown on the list page

Libraries

ercode
generate_code
generator/add/controller_add_generator
generator/add/view_add_generator
generator/add/view_item_add_generator
generator/detail/controller_detail_generator
generator/detail/view_detail_generator
generator/detail/view_item_detail_generator
generator/init/api_generate
generator/init/constants_generate
generator/init/rb_helpers_generate
generator/init/response_data_generate
generator/init/state_util_generate
generator/init/validator_generate
generator/init/widgets/crop_image_generate
generator/init/widgets/dialog_confirm_generate
generator/init/widgets/edit_text_generate
generator/init/widgets/error_layout_generate
generator/init/widgets/image_text_generate
generator/init/widgets/loading_layout_generate
generator/init/widgets/pick_image_generate
generator/init/widgets/show_page_generate
generator/init/widgets/submit_button_generate
generator/init/widgets/text_info_generate
generator/list/controller_generator
generator/list/view_generator
generator/list/view_item_generator
generator/model_generator
generator/repo_generator
helpers/cli/cli_exception
helpers/cli/create_single_file
helpers/cli/find_file_by_name
helpers/cli/list
helpers/cli/log_service
helpers/cli/pubspec_util
helpers/cli/sort
helpers/cli/structure
helpers/cli/yaml_to.string
helpers/extension
helpers/rb_helpers
models/field
models/module
templates/add/controller
templates/add/view
templates/add/view_item
templates/detail/controller
templates/detail/view
templates/detail/view_item
templates/init/helpers/api
templates/init/helpers/constants
templates/init/helpers/models/response_data
templates/init/helpers/rb_helpers
templates/init/helpers/state_util
templates/init/helpers/validator
templates/init/helpers/widgets/crop_image
templates/init/helpers/widgets/dialog_confirm
templates/init/helpers/widgets/edit_text
templates/init/helpers/widgets/error_layout
templates/init/helpers/widgets/image_text
templates/init/helpers/widgets/loading_layout
templates/init/helpers/widgets/pick_image
templates/init/helpers/widgets/show_page
templates/init/helpers/widgets/submit_button
templates/init/helpers/widgets/text_info
templates/list/controller
templates/list/view
templates/list/view_item
templates/model
templates/repository