Laravel Livewire UI, Auth, & CRUD starter kit.

Overview

Laravel Livewire Ui

This package provides Laravel Livewire & Bootstrap UI, Auth, & CRUD scaffolding commands to make your development speeds blazing fast. With it, you can generate full, preconfigured Bootstrap UI, complete Auth scaffolding including password resets and profile updating, and Create, Read, Update, and Delete operations. The CRUD files even have searching, sorting, and filtering. This package also comes with full PWA capabilities.

Documentation

Requirements

  • a server with Laravel 8 support
  • NPM installed on the dev machine

Packages Used

The following packages are used by this package, so you may want to become familiar with them:

Installation

This package was designed to work with new Laravel projects.

Make a Laravel project via Valet, Docker, or whatever you prefer:

laravel new my-project

Configure your .env APP, DB, and MAIL values:

APP_*
DB_*
MAIL_*

Require the package via composer:

composer require bastinald/laravel-livewire-ui

Make base UI scaffolding:

php artisan make:ui

Or, make UI scaffolding including Auth:

php artisan make:ui -a

Commands

Making UI

Make UI scaffolding including the layouts, assets, NPM config, etc.:

php artisan make:ui {--a|--auth} {--force}

Use the -a option to make Auth at the same time.

Making Auth

Make Auth scaffolding including login, register, password resets, etc.:

php artisan make:auth {--force}

Only run this command after making UI if you did not use the -a option.

Making CRUD

Make CRUD scaffolding for a model including Create, Read, Update, etc.:

php artisan make:crud {path} {--model=} {--force}

The path is the path the components and views will use e.g.:

php artisan make:crud Users

You can also make CRUD inside a subdirectory e.g.:

php artisan make:crud Admin/Users

If the model does not exist, it will be created automatically. The package is smart enough to know that the model would be User in the two examples above.

You can also specify the model class you wish to use as well:

php artisan make:crud Admin/Users --model=Admin/User

This is handy if you want the model in a subdirectory, or if the name is completely different from the CRUD path.

Publishing Stubs

Use your own Auth & CRUD stubs by publishing package files:

php artisan vendor:publish --tag=laravel-livewire-ui

Update the stub_path in config/laravel-livewire-ui.php:

'stub_path' => resource_path('stubs/vendor/laravel-livewire-ui'),

Now edit the stub files inside resources/stubs/vendor/laravel-livewire-ui. The commands will now use these stub files to make Auth & CRUD.

Comments
  • Make Crud Command index.blade.php directory & mkdir in error

    Make Crud Command index.blade.php directory & mkdir in error

    Hello,

    I got since the V1 of this package an issue when I create a CRUD. Indeed, the package create a folder index.blade.php, with the blade files inside.

    xxx/index.blade.php/index.blade.php xxx/index.blade.php/read.blade.php ...

    Since I updated the package, I have now a blocking error

     ErrorException                                                                                                                                                                                                                   
                                                                                                                                                                                                                                       
     mkdir(): No such file or directory                                                                                                                                                                                                
                                                                                                                                                                                                                                       
     at S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php:587  
    [...]
    2   S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php:568                                                                                               
         Illuminate\Filesystem\Filesystem::makeDirectory("S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\resources\views/member\users\index.blade.php")
    

    With an echo:

    File created: app/Http/Livewire//Member/Users\Index.php                                                                                                                                                                             
    create path=app/Http/Livewire//Member/Users\Password.php                                                                                                                                                                            
    File created: app/Http/Livewire//Member/Users\Password.php                                                                                                                                                                          
    create path=app/Http/Livewire//Member/Users\Read.php                                                                                                                                                                                
    File created: app/Http/Livewire//Member/Users\Read.php                                                                                                                                                                              
    create path=app/Http/Livewire//Member/Users\Save.php                                                                                                                                                                                
    File created: app/Http/Livewire//Member/Users\Save.php                                                                                                                                                                              
    create path=S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\resources\views/member\users\index.blade.php\index.blade.php
    

    -> folder with a file extension + two relative path joined.

    With some debugging:

    S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3>php artisan make:crud Member\User --force                                                                                                                                 
    array:6 [                                                                                                                                                                                                                           
      "componentDir" => "app/Http/Livewire//Member/Users"                                                                                                                                                                               
      "componentParser->relativeClassPath" => "app/Http/Livewire//Member/Users/Index.php"                                                                                                                                               
      "vewDir" => "S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\resources\views/member\users\index.blade.php"                                                                                                              
      "componentParser>relativeViewPath" => "S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\resources\views/member\users\index.blade.php"                                                                                    
      'config(livewire.class_namespace)' => "App\Http\Livewire"                                                                                                                                                                                                          
      'config(livewire.view_path)' => "S:\Devs\xampp\htdocs\www\projects\p4_lv8_my_work\my_work3\resources\views"                                                                                                                                                  
    ]  
    

    It seems that on MakeCrudCommand.php, the componentParser is building the relativeViewPath with an relative path. path comming from 'view_path' => resource_path('views'),

    I fixed the two issues with:

    1. MakeCrudCommand : Cleaning the paths & directory separator of the files, will prevent double index.blade.php folder/files (I am pretty sure we can find a more elegant solution).
        private function cleanPath($path) {
            $path = str_replace(['/', '\\'], DIRECTORY_SEPARATOR, $path);
            return $path;
        }
    
            $this->componentDir = Str::replaceLast(DIRECTORY_SEPARATOR . 'Index.php', '', $this->cleanPath($this->componentParser->relativeClassPath()));
            $this->viewDir = Str::replaceLast(DIRECTORY_SEPARATOR . 'index.blade.php', '', $this->cleanPath($this->componentParser->relativeViewPath()));
    
    1. MakeCrudCommand : clean the base_path when we have relative path in the config.
        private function makeStubs()
        {
           [...]
                       $basePath = base_path(str_replace(base_path(), '', $path));
           [...]
        }
    
    opened by Thiktak 8
  • Question: Does this work with or Can we change Bootstrap to TailwindCSS?

    Question: Does this work with or Can we change Bootstrap to TailwindCSS?

    Hey,

    First of all, thank you very much for the excellent package.

    I wanted to check if the components can be changed from Bootstrap to TailwindCSS? I understand, this package along with others use Bootstrap. But we are using TailwindCSS and wanted to check with you if there is an option to change Bootstrap to TailwindCSS.?

    Thanks again, Milan

    opened by milanchheda 6
  • Strict Typing?

    Strict Typing?

    Hello! Great job, really!

    I noticed you have weak typing (and missing docblocks) at all the components available. I know is there are stubs to modify, but most junior-mids will not go make the code stricter and will just use it as it is.

    Do you have any plans to improve the code quality of the package?

    opened by michael-rubel 2
  • Installation throws

    Installation throws "Permission Denied" error.

    After installation, the site throws an "Persmission denied" error.

    file_get_contents(D:\LARAGON\www\laravel-hp\app/Http/Livewire\Auth): failed to open stream: Permission denied

    php artisan migrate:auto throws the same error.

    opened by MGeurts 1
  • Package has moved

    Package has moved

    I am the developer of this package.

    This package is no longer being maintained and has moved here: https://github.com/legodion/zephyr

    Zephyr has a lot of improvements, L9 support, and new features.

    opened by legodion 0
Owner
null
Laravel UI, Auth, & CRUD scaffolding package using Bootstrap & Livewire.

bastinald/ux Laravel UI, Auth, & CRUD scaffolding package using Bootstrap & Livewire. Features Automatic migrations Automatic routing Automatic passwo

null 33 Nov 26, 2022
Pronto Fuel is a heavilly opnionated starter kit for Laravel and Inertia.js powered by Vite

Pronto Fuel Pronto Fuel is a heavilly opnionated starter kit for Laravel and Inertia.js powered by Vite. It ships with autoimporting features and leve

null 87 Dec 28, 2022
Gallium is a TALL stack starter kit offering a robust set of options enabling you to get up and running in a snap.

Very short description of the package This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention o

null 1 Nov 20, 2021
Electrik is a full-featured, open-source, starter-kit to help you build you your SaaS application.

Electrik Electrik is a full-featured and open-source stater-kit for for your next SaaS application. It's built on top of Laravel, Livewire, neerajsoha

Electrik 129 Dec 31, 2022
Jumpstart your web development journey with the HALT Stack Starter Kit, a one-command solution for creating dynamic, scalable, and clean web applications.

Welcome to the HALT Stack Starter Kit! This kit is designed to help you kickstart your web development projects using the HALT Stack, a powerful combi

HALT Stack 6 Jun 7, 2023
Laravel-comments-livewire - Livewire components for the laravel-comments package

Associate comments and reactions with Eloquent models This package contains Livewire components to be used with the spatie/laravel-comments package. S

Spatie 15 Jan 18, 2022
Laravel 8 + CoreUI + Livewire + Datatables (CRUD)

Laravel 8 + CoreUI + Livewire + Datatables About Laravel 8 + CoreUI + Livewire Datatables Whats Inside Laravel Core UI - (https://github.com/HZ-HBO-IC

Muhammad Rheza Alfin 38 Nov 3, 2022
Laravel 8 + CoreUI + Livewire + Datatables (CRUD)

Laravel 8 + CoreUI + Livewire + Datatables About Laravel 8 + CoreUI + Livewire Datatables Whats Inside Laravel Core UI - (https://github.com/HZ-HBO-IC

Muhammad Rheza Alfin 38 Nov 3, 2022
Simple CRUD + Search using Laravel 8 and Livewire 2

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

PowPow 11 Sep 29, 2022
WIRECRUD 9 adalah aplikasi CRUD + Search sederhana yang dibuat menggukana Laravel 9 dan Livewire 2

WIRECRUD 9 adalah aplikasi CRUD + Search sederhana yang dibuat menggukana Laravel 9 dan Livewire 2. Demo bisa dilihat di YouTube Developow Terbuka jika ingin clone apliaksi sederhana ini untuk belajar, bisa ikuti cara-cara berikut ini.

DeveloPow 11 Nov 25, 2022
REST API with auth using Laravel 8 and Sanctum

Laravel REST API with Sanctum This is an example of a REST API using auth tokens with Laravel Sanctum Usage Change the .env.example to .env and add yo

Brad Traversy 251 Dec 29, 2022
Message box application written in Laravel - simple inbox design using auth UI.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

null 0 Dec 25, 2021
Package to parse DNA kit files, and import them into Laravel

Package to parse DNA kit files, and import them into Laravel

Family Tree 365 4 Aug 31, 2022
Blade UI Kit is a set of renderless components to utilise in your Laravel Blade views

Blade UI Kit is a set of renderless components to utilise in your Laravel Blade views. In all essence, it's a collection of useful utilities, connecting the dots between different parts of the TALL stack. It was made for Blade, Laravel's powerful templating engine.

Blade UI Kit 1.2k Jan 5, 2023
A CMS start kit for websites, built on Filament and Laravel.

TrovCMS TrovCMS is a start kit for websites, built on Filament and Laravel. Install globally with composer. composer global require trovcms/installer

TrovCMS 12 Oct 20, 2022
Laravel Kickstart is a Laravel starter configuration that helps you build Laravel websites faster.

Laravel Kickstart What is Laravel Kickstart? Laravel Kickstart is a Laravel starter configuration that helps you build Laravel websites faster. It com

Sam Rapaport 46 Oct 1, 2022
A TALL (Tailwind CSS, Alpine.js, Laravel and Livewire) Preset for Laravel

Laravel TALL Preset A front-end preset for Laravel to scaffold an application using the TALL stack, jumpstarting your application's development. If yo

Laravel Frontend Presets 1.8k Jan 7, 2023
Laravel Users | A Laravel Users CRUD Management Package

A Users Management Package that includes all necessary routes, views, models, and controllers for a user management dashboard and associated pages for managing Laravels built in user scaffolding. Built for Laravel 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 6.0, 7.0 and 8.0.

Jeremy Kenedy 393 Nov 28, 2022
An open source Laravel Soundboard with Admin Panel CRUD (Create Read Update Delete) built on Laravel, Bootstrap, and Vue.js

Laravel Soundboard An open source Laravel Soundboard with Admin Panel CRUD (Create Read Update Delete) built on Laravel 5.8, Bootstrap 4, Vue.js, Boot

Jeremy Kenedy 24 Oct 28, 2022