savannabits/craftable

Administration toolkit for Laravel 7 - starting point for developing administration interface

v7.0.1 2020-05-15 13:16 UTC

This package is auto-updated.

Last update: 2024-12-15 23:47:14 UTC


README

About

Hi Crafter, welcome to the official documentation for Craftable 5 - a Laravel-based open-source toolkit for building administration interfaces. It's an administration area minimalistic template. A starting point for developing back-office systems, intranets or a CMS systems.

Craftable administration area example

You could call it CMS, but it's a very slim one, with as little content to manage as possible. It has:

  • UI - nice admin template based on CoreUI (http://coreui.io/)
  • CRUD generator
  • Authorization, My profile & Users CRUD
  • Translations manager
  • other helpers to quickly bootstrap your new administration area (Media Library, Admin Listing, etc.)

Demo

We have created a demo for you to play around at https://demo.getcraftable.com.

Use these credentials to sign-in:

  • email: demo@getcraftable.com
  • password: demo123

You can see an administration of:

  • Posts - this is the standard CRUD generated with admin-generator package
  • Translatable Articles - this is the showcase for translatableeloquent models
  • Manage access - is a extended CRUD for the User (your existing eloquent model) management
  • Translations - where you can manage the translations stored in the database

Made of components

Our intent was to split all the stuff into several packages with as least dependencies as possible. This is what we're coming with at the moment:

Craftable uses all the packages above. It also uses some other 3rd party packages (like Spatie's spatie/laravel-permission) and provides some basic default configuration to speed up a development of a typical administration interface.

Requirements

Craftable requires:

  • PHP 7.2+
  • Supported databases:
    • MySQL 5.7+
    • PostgreSQL 9.5+
  • npm 5.3+
  • node 8.4+

Craftable uses Laravel so you should check out its requirements too. It is compatible with Laravel 6:

Installation

New Craftable project

If you want to start on fresh Laravel, you can use our savannabits/craftable-installer that do all the tricks for you. Let's install it globally:

composer global require "savannabits/craftable-installer"

Create an empty database of your choice (PostgreSQL or MySQL).

Now you can create a new Craftable project:

craftable new my_project

This will install Craftable using latest Laravel version (currently 6). If you prefer tu use latest LTS Laravel version (currently also 6), use --lts flag:

craftable new --lts my_project

The commands is going to ask for a database settings and then it will setup everything (install all dependencies, publish all important vendor configs, migrate, setup some configs, webpack config and run migrations).

Command is going to generate and print the password for the default administrator account. Save this password to your clipboard, we are going to need it soon.

Add Craftable to existing project

Or alternatively, you can use your existing Laravel application. Start with requiring these two main packages:

composer require savannabits/craftable
composer require --dev savannabits/admin-generator

To install this package use:

php artisan craftable:install

This is going to install all dependencies, publish all important vendor configs, migrate, setup some configs, webpack config and run migrations.

Command is going to generate and print the password for the default administrator account. Save this password to your clipboard, we are going to need it soon.

Basics

Once installed, navigate your browser to /admin/login. You should be able to see a login screen.

Admin login form

Use these credentials to log in:

  • E-mail: administrator@savannabits.sk
  • Password: use password from you clipboard (it was printed in the end of the craftable:install command)

After authorization you should be able to see a default homepage and two menu items:

  • Manage access
  • Translations

Admin homepage

Documentation

You can find full documentation of this package and other our packages Craftable uses at https://docs.getcraftable.com/#/craftable.

Where to go next?

At this point you are ready to start building your administration area. You probably want to start building a typical CRUD interface for your eloquent models. You should definitely check our Admin Generator documentation.

In case you rather want to create some atypical custom made administration, then you probably want to head over to Admin UI package.

Have fun & craft something awesome!

Licence

MIT Licence. Refer to the LICENSE file to get more info.