অসাধারণ সিদ্ধান্ত! আমি তোমাকে এখন একটি সম্পূর্ণ, প্রফেশনাল-লেভেলের Filament Admin Panel টিউটোরিয়াল দেব — যা শুরু হবে ইনস্টলেশন থেকে, এবং ধাপে ধাপে যাবে advanced CRUD কাস্টমাইজেশন, UI কনফিগারেশন, relation handling, form improvements, security & role system, সবকিছু বাংলায় ব্যাখ্যা সহ।
🎓 সম্পূর্ণ Filament Admin Panel টিউটোরিয়াল (Laravel 10, Filament 2.x, PHP 8.0 Compatible)
🔰 পর্ব ১: Filament ইনস্টলেশন ও বেসিক কনফিগারেশন
✅ Laravel Project প্রস্তুতি:
composer create-project laravel/laravel filament-project
cd filament-project
✅ Filament v2 ইন্সটল (PHP 8.0 সমর্থিত):
composer require filament/filament:"^2.17"
✅ Filament Panel ইনস্টল:
php artisan filament:install
✅ Admin User তৈরি:
php artisan make:filament-user
➡️ তারপর লগইন করো: http://localhost:8000/admin
📦 পর্ব ২: Resource & CRUD তৈরি (Category Example)
✅ Category মডেল ও মাইগ্রেশন:
php artisan make:model Category -m
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('slug')->unique();
$table->timestamps();
});
php artisan migrate
✅ Filament Resource তৈরি:
php artisan make:filament-resource Category
🛠️ পর্ব ৩: CategoryResource Customize
✅ form() method:
use Filament\Forms\Components\TextInput;
public static function form(Form $form): Form
{
return $form->schema([
TextInput::make('name')->required()->live(onBlur: true)
->afterStateUpdated(fn($state, callable $set) => $set('slug', \Str::slug($state))),
TextInput::make('slug')->required()->unique(ignoreRecord: true),
]);
}
✅ table() method:
use Filament\Tables\Columns\TextColumn;
public static function table(Table $table): Table
{
return $table->columns([
TextColumn::make('name')->sortable()->searchable(),
TextColumn::make('slug'),
TextColumn::make('created_at')->date(),
]);
}
📂 পর্ব ৪: আরও Resource বানানো (Brand, Tag, Product)
✅ Brand & Tag CRUD:
php artisan make:model Brand -m
php artisan make:model Tag -m
php artisan migrate
php artisan make:filament-resource Brand
php artisan make:filament-resource Tag
➡️ name ও slug ফিল্ড একইভাবে add করো।
🧩 পর্ব ৫: Product CRUD + Relationships
✅ মডেল তৈরি:
php artisan make:model Product -m
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id')->constrained()->onDelete('cascade');
$table->foreignId('brand_id')->constrained()->onDelete('cascade');
$table->string('name');
$table->string('slug')->unique();
$table->decimal('price', 10, 2);
$table->timestamps();
});
php artisan migrate
php artisan make:filament-resource Product
✅ ProductResource Form:
use Filament\Forms\Components\{TextInput, Select, Toggle};
public static function form(Form $form): Form
{
return $form->schema([
TextInput::make('name')->required()->live(onBlur: true)
->afterStateUpdated(fn($state, callable $set) => $set('slug', \Str::slug($state))),
TextInput::make('slug')->required()->unique(ignoreRecord: true),
Select::make('category_id')->relationship('category', 'name')->required(),
Select::make('brand_id')->relationship('brand', 'name')->required(),
TextInput::make('price')->numeric()->required(),
]);
}
🖼️ পর্ব ৬: Image Upload এবং Product Gallery (Spatie Media Library)
➡️ পরে আমি এটাও দেখাবো:
- ইমেজ আপলোড
- প্রোডাক্ট গ্যালারি
HasMediaTraitব্যবহার
🔐 পর্ব ৭: Roles & Permissions (Spatie + Filament Shield)
composer require spatie/laravel-permission
php artisan vendor:publish --tag="permission-config"
php artisan migrate
✅ Filament Shield ব্যবহার করে auto permission system:
composer require bezhansalleh/filament-shield
php artisan shield:install
➡️ User Role তৈরি করে admin / manager আলাদা করতে পারবে।
🧠 পর্ব ৮: Advanced Customization
- Custom Action button (e.g. Approve, Mark Featured)
- Live Search
- Custom Layout
- Filament Widgets (e.g. Product Count, Revenue Card)
- Relation Manager (Product → Variant management)
📊 পর্ব ৯: Dashboard Widget যুক্ত করা
php artisan make:filament-widget ProductStats
public function render(): View
{
return view('filament.widgets.product-stats', [
'total' => Product::count(),
]);
}
🧾 পর্ব ১০: Deployment এবং Security
- Production cache (config, route)
- Admin panel protection
- Validation, authorization policies
php artisan optimize
📚 সম্পূর্ণ সিলেবাস সারসংক্ষেপ:
| অংশ | বিষয়সমূহ |
|---|---|
| Installation | Filament v2 + Laravel 10 + PHP 8.0 |
| Basic CRUD | Category, Brand, Tag, Product |
| Relationships | belongsTo, belongsToMany, hasMany |
| Customization | Live Slug, Toggle, Unique validation |
| Image Upload | Product gallery with Spatie |
| Role & Permission | Spatie + Shield |
| Dashboard | Widget, Count box, Charts |
| Deployment & Security | Cache, optimize, role guard |
🔔 তুমি চাইলে আমি এই সিলেবাস অনুযায়ী পর্বভিত্তিক টিউটোরিয়াল করে দিতে পারি — প্রতিটি পর্ব বাংলায় বিস্তারিত করে!
তুমি এখন বলো: কোন পর্ব দিয়ে শুরু করবো?
(উদাহরণ: Role System? Product Image Upload? Dashboard Widget?)