ascsoftw / tall-crud-generator
Laravel Package to generate CRUD Files using TALL Stack
Installs: 5 945
Dependents: 0
Suggesters: 0
Security: 0
Stars: 89
Watchers: 4
Forks: 21
Open Issues: 2
Requires
- ascsoftw/livewire-toast: ^1.0
Requires (Dev)
- christophrumpel/missing-livewire-assertions: ^0.4.0|0.5.0
- livewire/livewire: ^2.5|^2.10
- orchestra/testbench: ^6.18|^7.0
- phpunit/phpunit: ^9.3
README
Laravel Package to generate CRUD Files using TALL Stack. This is not an admin panel generator, it is a package that generates Livewire Components that supports CRUD Features without you having to write any single line of code.
Requirements
Make sure that Livewire is installed properly on your project.
Make sure that TailwindCSS is installed properly on your project.
Make sure that AlpineJS is installed properly on your project.
Installation
You can install the Package using Composer
composer require ascsoftw/tall-crud-generator
Usage
After you have installed the package, you can display the Config Page by including the Livewire Component in any View.
@livewire('tall-crud-generator')
This way you can display the Config Page using your Application Layout and can also control the Users who have access to the Page.
Configurations
If you want to override the configurations, you can publish the View and Blade Components used using the below command
php artisan vendor:publish --provider="Ascsoftw\TallCrudGenerator\TallCrudGeneratorServiceProvider" --tag=views
This will publish the Views in resources/views/vendor/tall-crud-generator
directory which you can then customize. Most of the Components being used are taken from Breeze and Jetstream Packages and so should be familiar.
Wiki
Please check Wiki for more Details and Video Tutorials.
FAQ
Question: There are many CRUD Packages available. Why use this Package?
Answer: Unlike other Packages, this Package works by generateing the actual Livewire Component. You are free to use it anywhere in your Project. It is also easier to customize them since you are editing the Livewire Files rather than figuring out the Configurable Options of the Package.
Q: Package doesn't support a Feaure that I need. What should I do?
A: The Package is at the initial stages and it only supports small number of Features. We are working on adding New Features. However, since the package generates the Actual Files, you can always Edit those Files and customize them according to your needs.
Features
Following are some of the Features that are supported:
- Pagination
- Sorting
- Searching
- Add Form in Modal
- Edit Form in Modal
- Delete with Modal Confirmation
- Validations
- Configure the Order of Columns in Listing
- Configure Field Type for Form
- Configure the Order for Form Fields
- Flash Messages
- Configuring No. of Records Per Page
- Display Dropdown to change no. of Records Per Page
- Relations: BelongsTo & BelongsToMany in Listing & Form
- Display Related Fields in the Listing using Eager Loading
- Display Count of Related Fields in the Listing using Eager Loading Count
- Having the Ability for User to Show / Hide Columns on Listing
- Allow User to Define Filters
- Bulk Action
- Date Filters
Testing
composer test
Troubleshooting
Your Output don't get styles while using TailwindCss? Please publish your view. Therefore Laravel Mix compiler will find package related views and will purge CSS accordingly.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.