tassili / free
Laravel Inertia Vue Crud Generator created by Rabah Douassi
Installs: 32
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/tassili/free
Requires
- php: ^8.2
This package is auto-updated.
Last update: 2025-12-07 12:57:15 UTC
README
TASSILI is a full-featured CRUD generator package created by Rabah Douassi built with Laravel + Inertia.js + Vue 3. It comes with powerful tools such as Pinia for state management, Quill.js for rich text editing, and Chart.js for data visualization. Here is the web site https://rabahdouassi.net/tassili-free/docs/1.x/installation
📋 Requirements
- PHP
^8.2 - Node.js and npm
- Laravel
^12with Breeze (Inertia.js stack) - Vite properly configured
🚀 Installation
1. Install Front-End Dependencies
npm install quill@^2.0.3 npm install vue-chartjs chart.js npm install pinia npm install notyf npm install material-icons composer require spatie/laravel-route-attributes
2. Configure if you are not using typescript resources/js/app.js
import '../css/app.css'; import './bootstrap'; import 'material-icons/iconfont/material-icons.css'; import { createInertiaApp } from '@inertiajs/vue3'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; import { createApp, h } from 'vue'; import { ZiggyVue } from '../../vendor/tightenco/ziggy'; import { createPinia } from 'pinia'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; const pinia = createPinia(); createInertiaApp({ title: (title) => `${title} - ${appName}`, resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')), setup: ({ el, App, props, plugin }) => { return createApp({ render: () => h(App, props) }) .use(plugin) .use(ZiggyVue) .use(pinia) .mount(el); }, progress: { color: '#4B5563' } });
2-b. Configure if you are using typescript resources/js/app.ts
import '../css/app.css'; import './bootstrap'; import 'material-icons/iconfont/material-icons.css'; import { createInertiaApp } from '@inertiajs/vue3'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; import { createApp,DefineComponent,h } from 'vue'; import { ZiggyVue } from '../../vendor/tightenco/ziggy'; import { createPinia } from 'pinia'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; const pinia = createPinia(); createInertiaApp({ title: (title) => `${title} - ${appName}`, resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob<DefineComponent>('./Pages/**/*.vue')), setup({ el, App, props, plugin }) { createApp({ render: () => h(App, props) }) .use(plugin) .use(ZiggyVue) .use(pinia) .mount(el); }, progress: { color: '#4B5563' } });
3. Storage Configuration (example for public disk)
TASSILI_STORAGE_DISK=public TASSILI_STORAGE_URL=http://127.0.0.1:8000/storage/
4. Install Tassili
composer require tassili/free php artisan migrate php artisan tassili:install php artisan vendor:publish --tag=tassili-config php artisan storage:link
5. Register Tassili Middleware
In your bootstrap/app.php, add:
$middleware->alias([ 'tassili.auth' => \App\Http\Middleware\TassiliAuth::class, ]);
6. Update AppServiceProvider
In your app/Providers/AppServiceProvider.php, add:
use Illuminate\Support\Facades\Route; use Spatie\RouteAttributes\RouteRegistrar; use Spatie\RouteAttributes\RouteFileRegistrar; public function boot(): void { (new RouteRegistrar(Route::getFacadeRoot())) ->useRootNamespace('App\\Http\\Controllers') ->useBasePath(app_path('Http/Controllers')) ->useMiddleware(['web']) ->registerDirectory(app_path('Http/Controllers')); }
7. Create Admin User
php artisan make:tassili-user
Access the admin panel at:
🔗 http://127.0.0.1:8000/admin/login
🧩 Features
- 🎨 Inertia Vue 3 interface
- 🧠 State management with Pinia
- 📝 Rich text editing with Quill.js
- 📊 Charts with Chart.js
- ⚡️ Full CRUD Generator
- 🔒 Wizard Form System
📘 License
This project is licensed under a commercial license via Gumroad.
Crafted with ❤️ by [LH DIGITAL]