tall-crud-generator
Laravel Package to generate CRUD Files using TALL Stack
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, navigate to Config Page at URL /tall-crud-generator. Once there Select your Model and Select all the Features. Just submit the Form and you will be provided with a Livewire Component that you can include in any View where you to display the CRUD Functionality.
Recommended way of Installation
Although Config Page is displayed at URL /tall-crud-generator and is also configurable. It is recommended that you disable the Route from the Config File and in order to have better control 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 config file using below command
php artisan vendor:publish --provider="Ascsoftw\TallCrudGenerator\TallCrudGeneratorServiceProvider" --tag=config
This will publish the configuration file at config/livewire-toast.php
. You can override any configurations.
Name | Type | Default | Description |
---|---|---|---|
route | String | /tall-crud-generator | URL where the Config Page will be shown in your project |
disable_route | Boolean | false | Flag to disable the config page |
You can also 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.
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 Features are supported:
- Pagination
- Sorting
- Searching
- Modal Add
- Modal Edit
- Modal Delete
- Validations
- Form Field Type
Roadmap
Following Features are in the piepline:
- Support Model Relations
- Flash Messages
- Select Dropdown from Related Field
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.