- How do I install crudit in a Laravel project?
- Run `composer require ekolustudio/crudit` to install the package. No additional configuration is required if you’re using Laravel’s default conventions. The package integrates with existing controllers, models, and routes, so no service provider registration is needed unless you customize its behavior.
- Does crudit support Laravel 10 or newer?
- The package does not explicitly declare Laravel version constraints in its documentation, so compatibility isn’t guaranteed. Test it in a fresh Laravel 10 project to confirm it works with features like route model binding or API resources. If issues arise, check for hidden dependencies or fork the package for updates.
- Can I use crudit for API-only endpoints without Blade views?
- Crudit is designed primarily for admin-style interfaces with Blade templates, so API-only use cases may require workarounds. You’d need to manually override its view logic or extend its controllers to return JSON responses. For pure API needs, consider Laravel’s built-in API resources or dedicated packages like Laravel API Resources.
- How does crudit handle model relationships (e.g., hasMany, belongsTo)?
- Crudit relies on Eloquent’s built-in relationship handling but doesn’t provide specialized UI components for nested forms or complex relationships. For many-to-many or polymorphic associations, you’ll need to manually customize the Blade templates or extend the package’s service layer to include relationship logic.
- Is crudit secure for production use with sensitive data?
- Crudit inherits Laravel’s default security (CSRF protection, query binding) but lacks documented features like audit logging, field-level permissions, or RBAC. For sensitive data (e.g., PII), validate its request handling and consider adding middleware or policy checks. Always test for SQL injection risks if raw queries are used.
- Can I integrate crudit with Inertia.js or Vue/React frontends?
- Crudit is Blade-focused and doesn’t natively support Inertia.js or SPA frameworks. To use it with Vue/React, you’d need to manually convert its Blade templates to JSON responses or build a custom adapter. This adds complexity and may defeat the package’s purpose of reducing boilerplate.
- What happens if I need custom validation rules beyond Laravel’s defaults?
- Crudit doesn’t override Laravel’s validation system, so you can use Form Requests or API Resources as usual. However, its minimal documentation means custom validation hooks may require extending the package’s core classes. Test thoroughly to ensure validation logic integrates without conflicts.
- Are there alternatives to crudit for Laravel CRUD with better documentation?
- For more robust solutions, consider **Filament**, **Nova**, or **Voyager**, which offer built-in admin panels, API support, and extensive documentation. If you need lightweight scaffolding, **Laravel Nova’s custom resources** or **Filament Tables** provide better long-term maintainability than crudit’s minimalist approach.
- How do I customize crudit’s default Blade templates?
- Crudit’s templates are likely stored in a `resources/views/vendor/crudit` directory. Override them by publishing assets with `php artisan vendor:publish --tag=crudit-views` (if supported) or manually copy and modify the files. Extend its base controller to inject custom logic into views or forms.
- Does crudit work with multi-tenancy (e.g., Laravel Tenant) or horizontal scaling?
- Crudit has no built-in support for multi-tenancy or distributed systems. If your app requires tenant isolation or microservices, you’ll need to manually integrate the package with your tenancy middleware or service layer. Test performance under load, as its lack of optimizations may cause bottlenecks.