A comprehensive learning project exploring Filament PHP's capabilities - featuring multi-tenancy, role management, Stripe payments, and real-time notifications in a beautifully crafted admin interface.
Click to expand/collapse screenshots
Dashboard Overview
Main dashboard with key metrics and charts
Employee List
Employee listing with filters and bulk actions
Employee Create
Employee creation form with department selection
Employee Details
Detailed employee profile with relationship tabs
Product List
Product catalog with search and categories
Product Create
Product creation with inventory management
Countries, States & Cities
Country, state, and city management
Payment Dashboard
Stripe payment overview and management
Payment Processing
Stripe payment processing interface
Roles List
Role management with Shield integration
Permission Matrix
Permission assignment interface
User Roles
User role assignment
- Modern Admin Panel - Built with Filament 3.2 for exceptional UX
- Multi-Tenancy - Team-based data isolation and management
- Advanced RBAC - Role & permission system with Filament Shield
- Employee Management - Complete HR module with departments and locations
- Product Catalog - Full-featured product and inventory management
- Stripe Payments - Secure payment processing
- Real-time Notifications - Powered by Laravel Reverb WebSockets
- Blog System - Content management with Firefly Blog
- Automated Backups - Scheduled backups with Spatie Laravel Backup
- Activity Logging - Complete audit trail of system actions
- Excel Export - Data export capabilities
- Dashboard Analytics - Beautiful charts with Apex Charts
- Spotlight Search - Quick navigation (โK / Ctrl+K)
- Multi-language - Full translation support
- Dark Mode - Built-in theme switching
Ensure you have the following installed:
- PHP 8.2 or higher
- Composer 2.x
- Node.js 18+ and npm
- MySQL 5.7+ / PostgreSQL / MariaDB 10.3+
- PHP Extensions:
ext-intl,ext-gd,ext-zip
1๏ธโฃ Clone & Install Dependencies
git clone <repository-url>
cd filament-fun
composer install
npm install2๏ธโฃ Environment Setup
cp .env.example .env
php artisan key:generate3๏ธโฃ Configure Database
Update your .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=filament_fun
DB_USERNAME=root
DB_PASSWORD=your_password4๏ธโฃ Run Migrations & Seed Data
php artisan migrate --seed
php artisan storage:link5๏ธโฃ Configure Stripe (Optional)
STRIPE_KEY=pk_test_...
STRIPE_SECRET=sk_test_...
STRIPE_CURRENCY=usd6๏ธโฃ Build Frontend Assets
npm run build # Production
# OR
npm run dev # Development with HMRcomposer devThis starts:
- ๐ Laravel dev server โ
http://localhost:8000 - ๐ฆ Queue worker (for async jobs)
- ๐ Log viewer (Laravel Pail)
- โก Vite HMR server
Run in separate terminals:
# Terminal 1
php artisan serve
# Terminal 2
php artisan queue:work
# Terminal 3
npm run devvalet park
# Access at: http://filament-fun.testAfter seeding, login with:
Email: Check database/seeders/UserSeeder.php
Password: Check database/seeders/UserSeeder.php
โ ๏ธ Security Note: Change default credentials immediately in production!
| Package | Version | Purpose |
|---|---|---|
| Laravel | 11.x | Backend Framework |
| Filament | 3.2 | Admin Panel |
| Livewire | 3.x | Reactive Components |
- Shield - Authorization & Permissions
- Breezy - Authentication & Profile
- Excel - Export Operations
- Spotlight - Quick Search (โK)
- Apex Charts - Data Visualization
- Blog - Content Management
- Translations - i18n Support
- Spatie Backup - Automated Backups
- Spatie Permission - RBAC System
- Spatie Media Library - File Management
- Laravel Reverb - WebSocket Server
- Laravel Trend - Analytics
- Stripe PHP SDK - Payment Processing
# Code Quality
composer pint # Format code (Laravel Pint)
composer test # Run tests
# IDE Support
php artisan ide-helper:generate
php artisan ide-helper:models
# Monitoring
php artisan pail # Watch logs in real-time
php artisan queue:work # Process background jobs
# Database
php artisan migrate:fresh --seed # Fresh start
php artisan db:seed # Re-seed data
# Cache Management
php artisan optimize:clear # Clear all caches
php artisan filament:optimize # Optimize Filamentapp/
โโโ Filament/
โ โโโ Resources/ # CRUD Resources (Employee, Product, User)
โ โโโ Pages/ # Custom Pages (Backups, Payments)
โ โโโ Widgets/ # Dashboard Widgets
โ โโโ Clusters/ # Grouped Resources
โโโ Models/ # Eloquent Models
โโโ Enums/ # Enum Classes (Role, Status)
โโโ Casts/ # Custom Casts (MoneyCast)
โโโ Providers/ # Service Providers
database/
โโโ migrations/ # Database Schema
โโโ seeders/ # Sample Data
โโโ factories/ # Model Factories
resources/
โโโ views/ # Blade Templates
โโโ js/ # Frontend Assets
Add new languages:
php artisan filament:translationsAvailable languages can be managed via the admin panel under Settings โ Translations.
- โ CSRF Protection
- โ SQL Injection Prevention (Eloquent ORM)
- โ XSS Protection (Blade Escaping)
- โ Role-Based Access Control
- โ Secure Password Hashing
- โ PCI-Compliant Payments (Stripe)
- โ Activity Logging & Audit Trail
php artisan queue:workCreate /etc/supervisor/conf.d/filament-fun-worker.conf:
[program:filament-fun-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/path/to/storage/logs/worker.logThen:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start filament-fun-worker:*Backups are managed via Spatie Laravel Backup. Access the backup panel at:
/admin/backups
Configure backup schedule in config/backup.php and setup cron:
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1# Run all tests
php artisan test
# Run specific test suite
php artisan test --testsuite=Feature
# Run with coverage
php artisan test --coverageContributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature- Commit your changes (use Conventional Commits)
git commit -m "feat: add amazing feature"- Push to your branch
git push origin feature/amazing-feature- Open a Pull Request
Found a bug or have a feature idea? Please open an issue with:
- Clear description
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Screenshots (if applicable)
This project is licensed under the MIT License - see the LICENSE file for details.
- Filament PHP - Amazing admin panel framework
- Laravel - The PHP framework for web artisans
- Spatie - Quality Laravel packages
- All the amazing open-source contributors
- Documentation: Filament Docs
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with โค๏ธ using Filament PHP