:rocket: A Smart CRUD Generator For Laravel

Overview

SensioLabsInsight

Imgur Gitter chat Build Status StyleCI Built For Laravel Total Downloads Latest Stable Version Latest Unstable Version License

Scaffold

Features

  • Generate your models, views, controllers, routes and migrations just in a few clicks.

  • Models visualization through a graph presentation (New Feature).

  • Views scaffolding support Bootstrap and Materialize css.

  • Generate (OneToMany,ManyToMany) relationships including views and controllers.

  • Websockets using pusher notifications.

  • AdminLTE dashboard template with users management system (users-roles-permissions) using laravel-permission.

  • Softdeletes and timestamps.

  • A delete confirmation message.

  • Using an interface to design your table.

  • Rollback possibility.

  • Generate CRUD for packages, see Lpackager, CRUD for packages/modules.

Installation

  1. Run the following command:

composer require amranidev/scaffold-interface

  1. Add the service providers to config/app.php:
Amranidev\ScaffoldInterface\ScaffoldInterfaceServiceProvider::class,
Amranidev\Ajaxis\AjaxisServiceProvider::class,
Spatie\Permission\PermissionServiceProvider::class,
Pusher\Laravel\PusherServiceProvider::class,
  1. Publish the assets in your application with:

php artisan vendor:publish

  1. Run migrations:

php artisan migrate

  1. Authentication scaffolding:

php artisan make:auth

  1. Add HasRole dependency to app/User.php:
<?php

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Spatie\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    use Notifiable;
    use HasRoles;
}

Congratulations, you have successfully installed Scaffold Interface!

Detailed Documentation

Full documentation.

Contribution

Any ideas are welcome. Feel free to submit any issues or pull requests.

Author

Credits

Contact : [email protected]

Comments
  • Error with Views

    Error with Views

    Hi,

    I install your package and I got some problems with views.

    I see vars like : {{errorMsg}} , {{final.table}}, {{final.onData}}, {{element}} ...

    And actions buttons (new, remove, more, back...) are not working

    Maybe I need to install some pacakges to make it work?

    Thanks.

    enhancement 
    opened by ManuSbd 15
  • "Prefix" on views and controllers

    Hi, Amrani.

    I want to know if theres a way to generate the views with a prefix, like “admin”, for example.

    The point is, I have a lot of manual work to migrate the scaffold views to my project architecture.

    Can you help? Thanks #

    enhancement New Feature 
    opened by oscarnascimento 8
  • fill new table errors

    fill new table errors

    (3/3) ErrorException Trying to get property of non-object (View: D:\php\OpenServer\domains\lava\blog\resources\views\scaffold-interface\layouts\app.blade.php) (View: D:\php\OpenServer\domains\lava\blog\resources\views\scaffold-interface\layouts\app.blade.php)

    (2/3) ErrorException Trying to get property of non-object (View: D:\php\OpenServer\domains\lava\blog\resources\views\scaffold-interface\layouts\app.blade.php)

    (1/3) ErrorException Trying to get property of non-object

    in 8419f0d3f3f8c20cb024e94a862960099ac86cc6.php (line 65)

    opened by jorjik 5
  • this project is not working?

    this project is not working?

    I have installed and go into the site, and I have created a table and some columns, but I didn't see any changing. so I tried to make migration, but still not change any files or database, and I didn't see any request in network when I create table and columns, just when I do make migration, and it just redirect to the scaffolder page, and shows me nothing to migrate.

    opened by abellee 5
  • one to many

    one to many

    Hi! Thanks for the CRUD generator. I can't get one2many to work I create table citys and have a column nammed cityName.

    Then when I create table members I click "One to many" I chose table citys and column cityName. Then I generate table members and its scripts. I expect a dropdown to show up when I want to add a member, but it doesnt.

    opened by spitfire64 5
  • Installation failed with Laravel 5.5

    Installation failed with Laravel 5.5

    Installation failed

    $ composer require amranidev/scaffold-interface
    Using version ^1.7 for amranidev/scaffold-interface
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Conclusion: don't install amranidev/scaffold-interface v1.7.15
        - Conclusion: don't install amranidev/scaffold-interface v1.7.1
        - Conclusion: remove laravel/framework v5.5.13
        - Installation request for amranidev/scaffold-interface ^1.7 -> satisfiable by amranidev/scaffold-interface[v1.7.0, v1.7.1, v1.7.15].
        - Conclusion: don't install laravel/framework v5.5.13
        - amranidev/scaffold-interface v1.7.0 requires vinkla/pusher ^2.4 -> satisfiable by vinkla/pusher[2.4.0, 2.5.0].
        - vinkla/pusher 2.4.0 requires illuminate/support 5.1.* || 5.2.* || 5.3.* -> satisfiable by illuminate/support[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.41, v5.1.6, v5.1.8, v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.31, v5.2.32, v5.2.37, v5.2.43, v5.2.45, v5.2.6, v5.2.7, v5.3.0, v5.3.16, v5.3.23, v5.3.4].
        - vinkla/pusher 2.5.0 requires illuminate/support 5.3.* || 5.4.* -> satisfiable by illuminate/support[v5.3.0, v5.3.16, v5.3.23, v5.3.4, v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.36, v5.4.9].
        - don't install illuminate/support v5.1.1|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.13|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.16|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.2|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.20|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.22|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.25|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.28|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.30|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.31|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.41|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.6|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.1.8|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.0|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.19|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.21|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.24|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.25|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.26|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.27|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.28|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.31|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.32|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.37|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.43|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.45|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.6|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.2.7|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.3.0|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.3.16|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.3.23|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.3.4|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.0|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.13|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.17|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.19|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.27|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.36|don't install laravel/framework v5.5.13
        - don't install illuminate/support v5.4.9|don't install laravel/framework v5.5.13
        - Installation request for laravel/framework (locked at v5.5.13, required as 5.5.*) -> satisfiable by laravel/framework[v5.5.13].
    
    
    Installation failed, reverting ./composer.json to its original content.
    
    

    Environment

    • PHP 7.0.14
    • laravel/framework 5.5.13

    Cause

    vinkla/laravel-pusher ^2.4 is old. Not supported illuminate/contracts and illuminate/support 5.5.*.

    https://github.com/vinkla/laravel-pusher/blob/2.5.0/composer.json

        "require": {
            "php": "^7.0",
            "illuminate/contracts": "5.3.* || 5.4.*",
            "illuminate/support": "5.3.* || 5.4.*",
            "graham-campbell/manager": "^2.5",
            "pusher/pusher-php-server": "^2.6"
        },
    

    https://github.com/vinkla/laravel-pusher/blob/3.0.0/composer.json

       "require": {
            "php": "^7.0",
            "illuminate/contracts": "5.3.* || 5.4.* || 5.5.*",
            "illuminate/support": "5.3.* || 5.4.* || 5.5.*",
            "graham-campbell/manager": "^3.0",
            "pusher/pusher-php-server": "^3.0"
        },
    
    opened by imunew 4
  • Parse Error

    Parse Error

    I am getting this error while installing via composer.

    Using version ^1.7 for amranidev/scaffold-interface
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 7 installs, 0 updates, 0 removals
      - Installing gajus/dindent (2.0.2): Downloading (100%)         
      - Installing pusher/pusher-php-server (2.6.4): Downloading (100%)         
      - Installing graham-campbell/manager (v2.5.0): Downloading (100%)         
      - Installing vinkla/pusher (2.5.0): Downloading (100%)         
      - Installing spatie/laravel-permission (1.12.0): Downloading (100%)         
      - Installing amranidev/ajaxis (v3.0.5): Downloading (100%)         
      - Installing amranidev/scaffold-interface (v1.7.15): Downloading (100%)         
    Writing lock file
    Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postUpdate
    > php artisan optimize
    
                                                               
      [Symfony\Component\Debug\Exception\FatalErrorException]  
      parse error, expecting `';'' or `'{''      
    
    opened by vikasprogrammer 4
  • How can I have custom Routes for User?

    How can I have custom Routes for User?

    I noticed that you have routes defined in your folder which is in vendor for us.

    You have routes like this-

    Route::get('users', '\App\Http\Controllers\ScaffoldInterface\UserController@index');

    But I want to use my own routing structure.

    Am I missing something here? Because I can't seem to find a way for using my own routes and disable yours. The only way I can see here is changing the file in vendor folder, which is wrong.

    enhancement 
    opened by antick 4
  • [Proposal] Admin-LTE integration

    [Proposal] Admin-LTE integration

    I think scaffold-interface is awesome, but it miss some important features. I gave it a trying, and I easy to generate all file for my module with full layout and ready to use. I use result as init front-end template in my app, and I must take more time to clone it to current AdmindLTE to manage generated module that I just created. and finally, I hope add a option to generate admin management for the generated table same with current (Permissions, Roles, Users) and current file will use as front-end

    enhancement New Feature 
    opened by ThangLuuQuoc 4
  • feature: select env-s in which the scaffold runs.

    feature: select env-s in which the scaffold runs.

    Allow the user to select environments in which the /scaffold url's will be allowed.

    requires the following middleware to be added to global HTTP middleware stack.

    \Amranidev\ScaffoldInterface\Http\Middleware\ScaffoldMiddleware::class,
    

    and the environments are selected under

    config\scaffold.php
    
    opened by athikrishnan 4
  • Unable to execute migration step on new install

    Unable to execute migration step on new install

    Followed step 1-3 without problems

    On step 4 I get the following error:

    
    > [Illuminate\Database\QueryException]
    > SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
    > oo long; max key length is 767 bytes (SQL: alter table `users` add unique `
    > users_email_unique`(`email`))
    > 
    > 
    > 
    > [PDOException]
    > SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
    > oo long; max key length is 767 bytes
    
    

    I have installed this scaffold-interface many times without problems and this time I'm installing it again, but it's given this problem so many time now.

    opened by davejal 3
  • error

    error

    I did the following PHP 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 24 2019 18:23:23) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.11-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

    composer create-project --prefer-dist laravel/laravel blog

    after my laravel installation was ok

    composer require amranidev/scaffold-interface.

    I get the following error

    Problem 1 - Conclusion: don't install amranidev/scaffold-interface v1.7.24 - Conclusion: don't install amranidev/scaffold-interface v1.7.22 - amranidev/scaffold-interface v1.7.21 requires vinkla/pusher ^3.1.0 -> satisfiable by vinkla/pusher[3.1.0]. - Conclusion: don't install vinkla/pusher 3.1.0 - Conclusion: don't install amranidev/scaffold-interface v1.7.15 - Conclusion: don't install amranidev/scaffold-interface v1.7.1 - Conclusion: don't install amranidev/scaffold-interface v1.7.0 - Conclusion: remove laravel/framework v6.5.1 - Installation request for amranidev/scaffold-interface ^1.7 -> satisfiable by amranidev/scaffold-interface[1.8.x-dev, v1.7.0, v1.7.1, v1.7.15, v1.7.21, v1.7.22, v1.7.24].

    Installation request for amranidev/scaffold-interface v1.7.24 -> satisfiable by amranidev/scaffold-interface[v1.7.24]. - Conclusion: remove laravel/framework v6.5.1 - Conclusion: don't install laravel/framework v6.5.1 - amranidev/scaffold-interface v1.7.24 requires spatie/laravel-permission ^2.7 -> satisfiable by spatie/laravel-permission[2.10.0,

    opened by josetiagobispo 2
  • Issue on Scaffold Generation

    Issue on Scaffold Generation

    I use Ubuntu 16.04 and PHP 7.2. I have installed the scaffold with Laravel 5.7.19 I'm trying to generate a new table, but it doesn't work. The table is not created and I can not migrate it. Can you help me? Thanks scaffold_crud_error

    opened by paco-portada 1
  • Table name is not following eloquent naming conventions

    Table name is not following eloquent naming conventions

    On example when I want to create a table named "bank_accounts" the Laravel model is expected to be named "BankAccount.php"

    Declaration of $table field would not be required

    opened by Hell4Ge 1
  • Is it possible to edit tables after creating them?

    Is it possible to edit tables after creating them?

    Hi! Thanks for your work. So glad someone is working on something like this. I am trying to figure out the basic logic of the CRUD Generator.

    I have managed to create a bunch of tables. After creating them I migrated and they were created successfully. Creating an one-to-many relationship succeeded after I tried several times and I think after reading the docs I even understand what I may have done.

    Is this designed to work as a tool to tinker with or should I have a clear image in my head about the structure and relations of databases first? Can I add relations after having created the tables already?

    Deleting tables does nothing, Firefox on Mac. Is this still a planned feature? Thanks.

    opened by savolai 1
Releases(v1.7.24)
Owner
Houssain Amrani
An open minded web developer
Houssain Amrani
Laravel API Documentation Generator

Laravel API Documentation Generator Automatically generate your API documentation from your existing Laravel/Lumen/Dingo routes. php artisan apidoc:ge

Marcel Pociot 3.3k Dec 21, 2022
Module Generator Composer Package For Laravel

Module Generator Installation You can install the package via composer: composer require teacoders/module-generator Run the command below to publish t

Tea Coders 21 Jan 8, 2022
Trial account generator for NoPing

NoPing account generator (beta version) Trial account generator for NoPing TODO It is working add some errors checks Add a good readme Host the server

Benjamin 6 Sep 6, 2022
A code generator for EasySwoole

wise-generator-easyswoole 基于EasySwoole的code-generation改写,主要应用与内部系统。基本上所有类都有所调整,同时也完善了一些功能。 版本说明 版本说明 code-generation 使用命令行,一键生成业务通用代码,支持代码如下: 一键生成项目初始

Ryan 3 Jun 8, 2021
A PHP README File Generator, to generate easily your GitHub README files 🎉

Readme Generator ?? Requiremennts ?? Make sure you have PHP 8.0 or higher installed. Steup ⚙️ Install Composer v2 or higher (https://getcomposer.org)

♚ PH⑦ de Soria™♛ 9 Oct 18, 2022
Laravel IDE Helper

Laravel IDE Helper Generator Complete PHPDocs, directly from the source This package generates helper files that enable your IDE to provide accurate a

Barry vd. Heuvel 12.8k Dec 29, 2022
This package extends the core file generators that are included with Laravel 5

Extended Migration Generators for Laravel 6, 7 and 8 Easily define the migration schema right in your make:migration command. The new commands this pa

Laracasts 2.4k Dec 29, 2022
⛔️ Laravel Tinx is archived and no longer maintained.

⛔️ Laravel Tinx (Deprecated) Laravel Tinx was archived on 12th December 2019 and is no longer maintained. Looking for a reloadable version of Laravel

James Furey 440 Dec 27, 2022
A cli tool for creating Laravel packages

Laravel Packager This package provides you with a simple tool to set up a new package and it will let you focus on the development of the package inst

JeroenG 1.3k Dec 22, 2022
A MySQL Workbench plugin which exports a Model to Laravel 5 Migrations

MySQL Workbench Export Laravel 5 Migrations Plugin A MySQL Workbench plugin that allows for exporting a model to Laravel 5 migrations that follow PSR-

Brandon Eckenrode 902 Jan 2, 2023
⚙️ A Laravel package to decompose your installed packages, their dependencies, your app & server environment

Introduction Laravel Decomposer decomposes and lists all the installed packages and their dependencies along with the Laravel & the Server environment

LUBUS 513 Dec 30, 2022
🍪 Write gorgeous documentation for your products using Markdown inside your Laravel app.

LaRecipe Write gorgeous documentations for your products using Markdown inside your Laravel app. LaRecipe ?? LaRecipe is simply a code-driven package

Saleem Hadad 2.1k Dec 29, 2022
Prequel for Laravel. Clear and concise database management.

TL;DR? Test Prequel here! What is Prequel exactly? Prequel is meant to be a database management tool for Laravel to replace the need for separate stan

Protoqol 1.4k Dec 27, 2022
Creates an 'artisan workflow:make' command to scaffold out a number of useful GitHub actions workflows for Laravel

Laravel workflow generator This creates a make:workflow artisan command to scaffold out a number of useful GitHub actions workflows for Laravel. Insta

Len Woodward 9 Jul 18, 2021
Laravel Rocket chat Debugher, push all logs to rocket chat channels

Laravel Rocket chat Debugher, push all logs to rocket chat channels

Novaday 4 Jun 13, 2022
Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless development of your applications.

Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless develop

AppzCoder 1.3k Jan 2, 2023
Platform for Citizen Engagement, Smart Communities, Smart Cities in the context of the Sustainable Development Goals 🏙️👩‍💻👨‍💼🙋‍♀️🙋‍♂️🦾🤖

Civikmind Plataforma Libre y de código abierto para la Participación Ciudadana, Veeduría Ciudadana, Gestión de Comunidades Inteligentes, Ciudades Inte

Smart Cities Community 29 Dec 8, 2022
The Smart-ID PHP client can be used for easy integration of the Smart-ID solution to information systems or e-services

Smart-ID PHP client Introduction The Smart-ID PHP client can be used for easy integration of the Smart-ID solution to information systems or e-service

SK ID Solutions 16 Oct 23, 2022
InfyOm Laravel Generator - API, Scaffold, Tests, CRUD Laravel Generator

InfyOm Laravel Generator Generate Admin Panels CRUDs and APIs in Minutes with tons of other features and customizations with 3 different themes. Read

InfyOmLabs (InfyOm Technologies) 3.5k Jan 1, 2023
A modern, ultra lightweight and rocket fast Content Management System

Redaxscript A modern, ultra lightweight and rocket fast Content Management System for SQLite, MSSQL, MySQL and PostgreSQL. Installation Clone the repo

redaxscript 247 Nov 12, 2022