Main Features

  1. Responsive admin and users interface
  2. Bootstrap 4
  3. Unlimited Roles and Permission Management
  4. Admin and Users Login
  5. Laravel 8.x
  6. Friendly GUI
  7. GUI database design
  8. Artican commands can be run right from the GUI
  9. Auto generate migration table and run migrations from GUI
  10. Auto Detect Relational database
  11. Support table join, master detail, use existing table as dropdown when related
  12. Reporting/Export (Excel, CSV, PDF)
  13. Import (Excel and CSV) to database table
  14. Auto generate translated language file for all table fields
  15. Uses spatie/laravel-permission
  16. Auto generate permissions table and middleware class
  17. Laravel Datatable
  18. Plain and WYSIWYG text editor
  19. CRUD Generated are purely laravel best practices
  20. Instant code preview after generating
  21. Simple steps (Database Settings, Project Name, Select Tables, Generate and Preview) everything on one page
  22. Generated code support multi database connection base on laravel spec
  23. Four database operation are generated for each table which include(SELECT, INSERT, UPDATE and DELETE)
  24. Option to Enable or Disable HTML5 form validation
  25. Detect Date Field from database (Support datetime picker when the field is date,timestamp...)
  26. Detect Enum field from database (e.g ‘Male’, ‘Female’) and use as Select Field
  27. Detect (TEXT,MEDIUMTEXT,LONGTEXT,BLOB…etc.) and use as textarea
  28. Detect primary key (AUTO_INCREMENT)
  29. Complete timestamp locale
  30. Generated codes are commented for easy understanding and editing
  31. File Upload
  32. Image upload and resize
  33. Multiple Image upload and resize
  34. Multiple File upload
  35. Full Documentation

Database setup

Create MySQL database with table. E.g.

Unzip the AppCreator folder to your server, then run the setup.php file.
E.g. http://localhost/filename/setup.php and complete the settings.


Database: Generate Migration Table

  1. Click on Create Table menu from the left nav
  2. TABLE NAME: Enter the database table name
  3. SAVE TABLE AS: This will be auto generated
  4. UPLOAD FIELD: If the table will accept images/files upload, enter the field name (eg. user_avatar)
  5. Click on Save Table button
  6. After creating all your tables click on the Run Migrations button to create the database

Database: Generate Relational Migration Table

  1. Click on Create Table menu from the left nav
  2. TABLE NAME: Enter the database table name
  3. SAVE TABLE AS: This will be auto generated
  4. UPLOAD FIELD: If the table will accept images/files upload, enter the field name (eg. user_avatar)
  5. Click on Save Table button
  6. After creating all your tables click on the Run Migrations button to create the database

Database Management

  1. Click on Database Management menu from the left nav
  2. Select a table from the list to view its property
  3. You can drop/delete enter table and its property by clicking Drop Table From Database button

Using your own database environment

Create MySQL database with table. E.g.


Your ENUM field should take this format e.g.('Male','Female'...etc)

Unzip the file folder to your server, then run the setup.php file.
E.g. http://localhost/file/setup.php and complete the settings.


Generating Your Project

Complete your database settings example is shown below


Database Settings Fields Description

  1. Localhost: This is your host server e.g localhost
  2. Username: This is your database username
  3. Password: This is the password associated with your database.
  4. Database Name: This is your database name.
  5. Connection Type: This is your database type which is mysql
  6. Project Title: This is the title of your application.
  7. Laravel version: Select Laravel Framework version.
  8. Database insert Option: Select e.g Table::create($request->all()) or Table::create(array('name'=>$request->input('name'),...)).
  9. Display Record Per Row: This limit the records that will first be displayed in grid table before view details.
  10. HTML5 Validation: When set to enabled all your forms fields will be validated. Your forms fields will be set to required. You can remove the required text if you don't want validation on a particular field. On the other hand when the Validation is set to disabled no field will be validated.
  11. Upload Handling: The uploading is divided into two: Files and Image Upload: This support multiple file format. You can add more file extention at app/Http/Controllers/Traits/Upload.php at
    Image Upload and Resize. This handle image upload and resize.
    IMPORTANT: The file field must be set VARBINARY in your database before it can detect file input field for uploading.
  12. Text Area Handling: You can select between WYSIWYG Text Editor or Normal Text which is plain textarea.
  13. Clear Generated Code: Clicking on this button will delete all codes you have generated. You can start again by just clicking on the Generate button.

NOTICE: All fields must be completed comrrectly, after which click on the Update Settings button. The saved settings will be located at lib/config.php and .env in project home directory

IMPORTANT: When you click on the Update Uettings button. Your previously generated code will be deleted. So always copy out your code before starting another one.


Project Output: Admin Dashboard and Settings

Posts

Sample blog build in.

Roles Magement

Permission Management

Application Setting


Database Migration Datatypes

Command Description
$table->id(); Alias of $table->bigIncrements('id').
$table->foreignId('user_id'); Alias of $table->unsignedBigInteger('user_id').
$table->bigIncrements('id'); Auto-incrementing UNSIGNED BIGINT (primary key) equivalent column.
$table->bigInteger('votes'); BIGINT equivalent column.
$table->binary('data'); BLOB equivalent column.
$table->boolean('confirmed'); BOOLEAN equivalent column.
$table->char('name', 100); CHAR equivalent column with a length.
$table->date('created_at'); DATE equivalent column.
$table->dateTime('created_at', 0); DATETIME equivalent column with precision (total digits).
$table->dateTimeTz('created_at', 0); DATETIME (with timezone) equivalent column with precision (total digits).
$table->decimal('amount', 8, 2); DECIMAL equivalent column with precision (total digits) and scale (decimal digits).
$table->double('amount', 8, 2); DOUBLE equivalent column with precision (total digits) and scale (decimal digits).
$table->enum('level', ['easy', 'hard']); ENUM equivalent column.
$table->float('amount', 8, 2); FLOAT equivalent column with a precision (total digits) and scale (decimal digits).
$table->geometry('positions'); GEOMETRY equivalent column.
$table->geometryCollection('positions'); GEOMETRYCOLLECTION equivalent column.
$table->increments('id'); Auto-incrementing UNSIGNED INTEGER (primary key) equivalent column.
$table->integer('votes'); INTEGER equivalent column.
$table->ipAddress('visitor'); IP address equivalent column.
$table->json('options'); JSON equivalent column.
$table->jsonb('options'); JSONB equivalent column.
$table->lineString('positions'); LINESTRING equivalent column.
$table->longText('description'); LONGTEXT equivalent column.
$table->macAddress('device'); MAC address equivalent column.
$table->mediumIncrements('id'); Auto-incrementing UNSIGNED MEDIUMINT (primary key) equivalent column.
$table->mediumInteger('votes'); MEDIUMINT equivalent column.
$table->mediumText('description'); MEDIUMTEXT equivalent column.
$table->morphs('taggable'); Adds taggable_id UNSIGNED BIGINT and taggable_type VARCHAR equivalent columns.
$table->uuidMorphs('taggable'); Adds taggable_id CHAR(36) and taggable_type VARCHAR(255) UUID equivalent columns.
$table->multiLineString('positions'); MULTILINESTRING equivalent column.
$table->multiPoint('positions'); MULTIPOINT equivalent column.
$table->multiPolygon('positions'); MULTIPOLYGON equivalent column.
$table->nullableMorphs('taggable'); Adds nullable versions of morphs() columns.
$table->nullableUuidMorphs('taggable'); Adds nullable versions of uuidMorphs() columns.
$table->nullableTimestamps(0); Alias of timestamps() method.
$table->point('position'); POINT equivalent column.
$table->polygon('positions'); POLYGON equivalent column.
$table->rememberToken(); Adds a nullable remember_token VARCHAR(100) equivalent column.
$table->set('flavors', ['strawberry', 'vanilla']); SET equivalent column.
$table->smallIncrements('id'); Auto-incrementing UNSIGNED SMALLINT (primary key) equivalent column.
$table->smallInteger('votes'); SMALLINT equivalent column.
$table->softDeletes('deleted_at', 0); Adds a nullable deleted_at TIMESTAMP equivalent column for soft deletes with precision (total digits).
$table->softDeletesTz('deleted_at', 0); Adds a nullable deleted_at TIMESTAMP (with timezone) equivalent column for soft deletes with precision (total digits).
$table->string('name', 100); VARCHAR equivalent column with a length.
$table->text('description'); TEXT equivalent column.
$table->time('sunrise', 0); TIME equivalent column with precision (total digits).
$table->timeTz('sunrise', 0); TIME (with timezone) equivalent column with precision (total digits).
$table->timestamp('added_on', 0); TIMESTAMP equivalent column with precision (total digits).
$table->timestampTz('added_on', 0); TIMESTAMP (with timezone) equivalent column with precision (total digits).
$table->timestamps(0); Adds nullable created_at and updated_at TIMESTAMP equivalent columns with precision (total digits).
$table->timestampsTz(0); Adds nullable created_at and updated_at TIMESTAMP (with timezone) equivalent columns with precision (total digits).
$table->tinyIncrements('id'); Auto-incrementing UNSIGNED TINYINT (primary key) equivalent column.
$table->tinyInteger('votes'); TINYINT equivalent column.
$table->unsignedBigInteger('votes'); UNSIGNED BIGINT equivalent column.
$table->unsignedDecimal('amount', 8, 2); UNSIGNED DECIMAL equivalent column with a precision (total digits) and scale (decimal digits).
$table->unsignedInteger('votes'); UNSIGNED INTEGER equivalent column.
$table->unsignedMediumInteger('votes'); UNSIGNED MEDIUMINT equivalent column.
$table->unsignedSmallInteger('votes'); UNSIGNED SMALLINT equivalent column.
$table->unsignedTinyInteger('votes'); UNSIGNED TINYINT equivalent column.
$table->uuid('id'); UUID equivalent column.
$table->year('birth_year'); YEAR equivalent column.

Column Modifiers

In addition to the column types listed above, there are several column "modifiers" you may use while adding a column to a database table. For example, to make the column "nullable", you may use the nullable method:

Schema::table('users', function (Blueprint $table) {
    $table->string('email')->nullable();
});

The following list contains all available column modifiers. This list does not include the index modifiers:

Modifier Description
->after('column') Place the column "after" another column (MySQL)
->autoIncrement() Set INTEGER columns as auto-increment (primary key)
->charset('utf8mb4') Specify a character set for the column (MySQL)
->collation('utf8mb4_unicode_ci') Specify a collation for the column (MySQL/PostgreSQL/SQL Server)
->comment('my comment') Add a comment to a column (MySQL/PostgreSQL)
->default($value) Specify a "default" value for the column
->first() Place the column "first" in the table (MySQL)
->from($integer) Set the starting value of an auto-incrementing field (MySQL / PostgreSQL)
->nullable($value = true) Allows (by default) NULL values to be inserted into the column
->storedAs($expression) Create a stored generated column (MySQL)
->unsigned() Set INTEGER columns as UNSIGNED (MySQL)
->useCurrent() Set TIMESTAMP columns to use CURRENT_TIMESTAMP as default value
->virtualAs($expression) Create a virtual generated column (MySQL)
->generatedAs($expression) Create an identity column with specified sequence options (PostgreSQL)
->always() Defines the precedence of sequence values over input for an identity column (PostgreSQL)
Command Description
$table->dropMorphs('morphable'); Drop the morphable_id and morphable_type columns.
$table->dropRememberToken(); Drop the remember_token column.
$table->dropSoftDeletes(); Drop the deleted_at column.
$table->dropSoftDeletesTz(); Alias of dropSoftDeletes() method.
$table->dropTimestamps(); Drop the created_at and updated_at columns.
$table->dropTimestampsTz(); Alias of dropTimestamps() method.

Indexes

Creating Indexes

The Laravel schema builder supports several types of indexes. The following example creates a new email column and specifies that its values should be unique. To create the index, we can chain the unique method onto the column definition:

$table->string('email')->unique();

Alternatively, you may create the index after defining the column. For example:

$table->unique('email');

You may even pass an array of columns to an index method to create a compound (or composite) index:

$table->index(['account_id', 'created_at']);

Laravel will automatically generate an index name based on the table, column names, and the index type, but you may pass a second argument to the method to specify the index name yourself:

$table->unique('email', 'unique_email');

Available Index Types

Each index method accepts an optional second argument to specify the name of the index. If omitted, the name will be derived from the names of the table and column(s) used for the index, as well as the index type.

Command Description
$table->primary('id'); Adds a primary key.
$table->primary(['id', 'parent_id']); Adds composite keys.
$table->unique('email'); Adds a unique index.
$table->index('state'); Adds a plain index.
$table->spatialIndex('location'); Adds a spatial index. (except SQLite)
Laravel Framework Documentation

View Documentation

System Requirements: Laravel 8.x

  • PHP 7.3 or newer
  • MySQL 5+
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • OpenSSL PHP Extension
  • Fileinfo PHP extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension
  • GD PHP Extension

  • Thank you for purchasing this app. If you have any questions that are beyond the scope of this help file, please feel free to email us via our email address
    info@hezecom.com
    http://hezecom.com
    Thanks so much!