/laravel-artificer

Artificer is an admin for Laravel built on top of your Eloquent models.

Primary LanguagePHPMIT LicenseMIT

Laravel Artificer

Quality Score Latest Version Software License

Artificer is an admin package (under development) built on top of your models. It automatically detects all your models, tables and columns building a beautiful interface to manage your data. Help is needed.

Package first stable version is aimed to work with Laravel 5.1 (due to the multiple config files update. The soonest we can after its released)

Current state warning

It is under development. Use at your own risk.

Features

  • Plugins & widgets (making it really simple to extend and customize)
  • Themes (Having a beautiful default theme)
  • Automatic form field type detection
  • Validation
  • "Hooks" (with Laravel Events)
  • Ultra configurable
  • Frontend uses Laravel's blade template engine to avoid complexity
  • Notifications
  • Simple Login system

Installation

Require this package in your composer.json and run composer update:

"mascame/artificer": "dev-master"

Add the Service Provider to app/config at the bottom of Providers:

Mascame\Artificer\ArtificerServiceProvider

Publish assets and config

php artisan artificer:publish

Changing the theme

Set theme in app/config/packages/mascame/artificer/admin. theme to theme-name-here

Default: mascame/artificer-default-theme

Plugins

Add plugins you need. Please, be aware some plugins are under heavy development.

Usage

Edit config files to meet your needs.

Login

Make a users table like this:

Schema::create('users', function(Blueprint $table)
{
	$table->increments('id');
	$table->string('email')->unique();
	$table->string('password');
	$table->string('role'); // or $table->enum('role', array('admin', 'editor', 'user', 'whatever...'));
	$table->rememberToken();
});

Add the methods to User:

/**
 * Get the unique identifier for the user.
 *
 * @return mixed
 */
public function getAuthIdentifier()
{
    return $this->getKey();
}

/**
 * Get the password for the user.
 *
 * @return string
 */
public function getAuthPassword()
{
    return $this->password;
}

Documentation

Developing (Laravel 4):

  • In workbench under mascame/ (or your fork namespace) make the clone. º
  • Rename laravel-artificer to artificer.
  • Run composer update inside of the package.
  • php artisan artificer:publish

Publish theme assets:

php artisan asset:publish mascame/artificer-default-theme

soon more

Todo

  • Improve main theme
  • Make plugins more friendly to use
  • Relation fields
  • Localization
  • Tests
  • Better assets
  • Improve existing plugins

Plugin ideas (to be approved and done)

  • Export to CSV
  • Datatables
  • Image gallery
  • Route viewer (editor?)
  • Config editor (mainly for models)
  • SEO/Pages manager

Support

If you want to give your opinion, you can send me an email, comment the project directly (if you want to contribute with information or resources) or fork the project and make a pull request.

Also I will be grateful if you want to make a donation, this project hasn't got a death date and it wants to be improved constantly:

Website Button

License

MIT