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/dropdown_spinner_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/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/drop_down_spinner
- 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/text_info
- templates/list/controller
- templates/list/view
- templates/list/view_item
- templates/model
- templates/repository