All Projects → mtolhuys → Laravel Schematics

mtolhuys / Laravel Schematics

Licence: mit
A Laravel package making a diagram of your models, relations and the ability to build them with it

Projects that are alternatives of or similar to Laravel Schematics

Diagram Maker
A library to display an interactive editor for any graph-like data.
Stars: ✭ 2,086 (+83.47%)
Mutual labels:  diagrams, drag, drop
Vue Drag And Drop
A for Vue.js directive for providing drag and drop capabilities to elements and data
Stars: ✭ 393 (-65.44%)
Mutual labels:  drag, drop
Vue Drag Tree
🌴🌳a Vue's drag and drop tree component || 🌾Demo
Stars: ✭ 337 (-70.36%)
Mutual labels:  drag, drop
Kddraganddropcollectionview
This component allows for the transfer of data items between collection views through drag and drop
Stars: ✭ 476 (-58.14%)
Mutual labels:  drag, drop
yii2-forms
Forms CRUD - formbuilder, generator code
Stars: ✭ 32 (-97.19%)
Mutual labels:  drag, drop
image-uploader
Simple Drag & Drop image uploader plugin to static forms, without using AJAX
Stars: ✭ 70 (-93.84%)
Mutual labels:  drag, drop
Smooth Dnd
drag and drop library for javascript
Stars: ✭ 408 (-64.12%)
Mutual labels:  drag, drop
Blazor.Diagrams
A fully customizable and extensible all-purpose diagrams library for Blazor
Stars: ✭ 327 (-71.24%)
Mutual labels:  drag, diagrams
Html5 Uploader
A pure HTML5 file uploader
Stars: ✭ 9 (-99.21%)
Mutual labels:  drag, drop
Ng2 Dnd
Angular 2 Drag-and-Drop without dependencies
Stars: ✭ 861 (-24.27%)
Mutual labels:  drag, drop
Vue Slicksort
A set of vue mixins to turn any list into an animated, touch-friendly, sortable list ✌️
Stars: ✭ 1,010 (-11.17%)
Mutual labels:  drag, drop
vue-simple-upload-component
A simple upload component for Vue.js 2.x
Stars: ✭ 14 (-98.77%)
Mutual labels:  drag, drop
jOrgChart
Here more functionality of jquery orgchart with json support
Stars: ✭ 29 (-97.45%)
Mutual labels:  drag, drop
Boardview
A draggable boardview for java android (Kanban style)
Stars: ✭ 309 (-72.82%)
Mutual labels:  drag, drop
navbuilder
Generiert frei definierbare Navigationsbäume mittels Drag & Drop
Stars: ✭ 21 (-98.15%)
Mutual labels:  drag, drop
Ngx Sortablejs
Angular 2+ binding to SortableJS. Previously known as angular-sortablejs
Stars: ✭ 397 (-65.08%)
Mutual labels:  drag, drop
Vue Smooth Dnd
Vue wrapper components for smooth-dnd
Stars: ✭ 1,121 (-1.41%)
Mutual labels:  drag, drop
rc-dock
Dock Layout for React Component
Stars: ✭ 318 (-72.03%)
Mutual labels:  drag, drop
Windows11DragAndDropToTaskbarFix
"Windows 11 Drag & Drop to the Taskbar (Fix)" fixes the missing "Drag & Drop to the Taskbar" support in Windows 11. It works with the new Windows 11 taskbar and does not require nasty changes like UndockingDisabled or restoration of the classic taskbar.
Stars: ✭ 1,089 (-4.22%)
Mutual labels:  drag, drop
Recyclerviewhelper
📃 [Android Library] Giving powers to RecyclerView
Stars: ✭ 643 (-43.45%)
Mutual labels:  drag, drop

Laravel Schematics

Latest Version on Packagist Build Status Quality Score Total Downloads

This package allows you to make multiple diagrams of your Eloquent models and their relations. It will help building them providing drag and drop relations, forms to create and edit your models and many options like adding resource controllers, form requests and running migrations by the click of a button or (configurable) automatically. It also will give you insights in the migrations you ran and the ones specified in your migrations folder.

Schematics Example

Its aim is to help you (and your team) get more grip on the models from a code perspective, the status of your migrations and build / edit them faster.


Installation

You can install the package via composer:

composer require mtolhuys/laravel-schematics --dev

Run php artisan schematics:install which will do the route caching, create vendor assets in your public folder and setup the configuration file.

Or...

php artisan vendor:publish --provider="Mtolhuys\LaravelSchematics\LaravelSchematicsServiceProvider"

and visit {your-app}/schematics


Usage

Starting out / Searching

If you already have a lot of models I recommend you use the search bar to narrow down the diagrams into specific sections f.e:

Schematics Example

These searches are saved across your diagrams.

Relations

When you drag and drop the arrow to another model you'll get a form to specify the relation you want to build f.e:

Clicking on them will show something like:

Relation Example

Building / Editing Models

To specify the types of your columns I've chosen the form request rule syntax. To see what's available you can click the little help icon below the fields in the model form:

Fields Explanation

The package is flexible enough to differentiate between renaming and changing column types. It will create migrations according the need to change or create a table and setup your $fillables. I do strongly suggest you check the migrations before running them if the stakes are high.

You don't have to worry about existing migrations though, the package will only look for migrations it created itself by checking the value of the @tag in the comment it adds. It looks like this:

/**
 * Laravel Schematics
 *
 * WARNING: removing @tag value will disable automated removal
 *
 * @package Laravel-schematics
 * @author  Maarten Tolhuijs <[email protected]>
 * @url     https://github.com/mtolhuys/laravel-schematics
 * @tag     laravel-schematics-foobar-model
 */

Changing Diagram Style

There are 4 diagram styles. Bezier, Straight, Flowchart and State Machine:

Importing / Exporting Diagrams

To save and / or share the diagrams you created you can use the export and import settings feature:


Testing

You can run the tests with:

composer test

Or, optionally, with coverage information:

composer test-coverage

Changelog

Please see CHANGELOG for more information what has changed recently.

Credits

This package is possible because of the effort and time of these people! ✨


Maarten Tolhuijs

Creator️

Deisi Tolhuijs

Design

Dennis Mwea

Contributor

Robbin Schepers

Contributor

Bram van Rijswijk

Support

Lucas Snel

Contributor

Contributing

Since I'm getting some questions about this I want these things to be perfectly clear:

  • This is a safe haven for contributions, every (positive) contributon matters!
  • You are free (and encouraged) to use anything of this package for your own ideas.
  • You can always ask for help or email me directly for any questions.

Please see CONTRIBUTING for further details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].