Skip to content

fabyo0/filament-fun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 Filament Fun - Modern Laravel Admin Panel

Laravel Filament PHP License

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.


📸 Screenshots

Click to expand/collapse screenshots

📊 Dashboard & Analytics

Dashboard Overview
Main dashboard with key metrics and charts

Screenshot 2025-11-19 at 20 01 02

👥 Employee Management

Employee List
Employee listing with filters and bulk actions

Screenshot 2025-11-19 at 20 19 34

Employee Create
Employee creation form with department selection

Screenshot 2025-11-19 at 20 20 06
Screenshot 2025-11-19 at 20 20 51

Employee Details
Detailed employee profile with relationship tabs

Screenshot 2025-11-19 at 20 21 35
Screenshot 2025-11-19 at 20 22 02

📦 Product Management

Product List
Product catalog with search and categories

Screenshot 2025-11-19 at 20 22 53

Product Create
Product creation with inventory management

Screenshot 2025-11-19 at 20 23 22

🌍 Location Management

Countries, States & Cities
Country, state, and city management

Screenshot 2025-11-19 at 20 24 15
Screenshot 2025-11-19 at 20 25 13

💳 Stripe Integration

Payment Dashboard
Stripe payment overview and management

Screenshot 2025-11-19 at 20 25 59

Payment Processing
Stripe payment processing interface

Screenshot 2025-11-19 at 20 26 35

🛡️ Roles & Permissions

Roles List
Role management with Shield integration

Screenshot 2025-11-19 at 20 28 26

Permission Matrix
Permission assignment interface

Screenshot 2025-11-19 at 20 28 54

User Roles
User role assignment

Screenshot 2025-11-19 at 20 29 15

✨ Key Features

🎯 Core Functionality

  • 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

💳 Integrations & Tools

  • 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

🎨 User Experience

  • 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

🚀 Quick Start

Prerequisites

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

Installation

1️⃣ Clone & Install Dependencies

git clone <repository-url>
cd filament-fun
composer install
npm install

2️⃣ Environment Setup

cp .env.example .env
php artisan key:generate

3️⃣ 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_password

4️⃣ Run Migrations & Seed Data

php artisan migrate --seed
php artisan storage:link

5️⃣ Configure Stripe (Optional)

STRIPE_KEY=pk_test_...
STRIPE_SECRET=sk_test_...
STRIPE_CURRENCY=usd

6️⃣ Build Frontend Assets

npm run build  # Production
# OR
npm run dev    # Development with HMR

🎮 Running the Application

Option 1: One Command to Rule Them All (Recommended)

composer dev

This starts:

  • 🌐 Laravel dev server → http://localhost:8000
  • 📦 Queue worker (for async jobs)
  • 📊 Log viewer (Laravel Pail)
  • ⚡ Vite HMR server

Option 2: Manual Mode

Run in separate terminals:

# Terminal 1
php artisan serve

# Terminal 2
php artisan queue:work

# Terminal 3
npm run dev

Option 3: Laravel Valet (macOS)

valet park
# Access at: http://filament-fun.test

👤 Default Credentials

After seeding, login with:

Email: Check database/seeders/UserSeeder.php
Password: Check database/seeders/UserSeeder.php

⚠️ Security Note: Change default credentials immediately in production!


📦 Tech Stack

Core Framework

Package Version Purpose
Laravel 11.x Backend Framework
Filament 3.2 Admin Panel
Livewire 3.x Reactive Components

Filament Plugins

  • 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

Additional Tools

  • Spatie Permission - RBAC System
  • Spatie Media Library - File Management
  • Laravel Reverb - WebSocket Server
  • Laravel Trend - Analytics
  • Stripe PHP SDK - Payment Processing

🛠️ Development Commands

# 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 Filament

📁 Project Structure

app/
├── 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

🌍 Multi-language Support

Add new languages:

php artisan filament:translations

Available languages can be managed via the admin panel under Settings → Translations.


🔐 Security Features

  • ✅ 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

📊 Queue & Background Jobs

Development

php artisan queue:work

Production (with Supervisor)

Create /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.log

Then:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start filament-fun-worker:*

💾 Automated Backups

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

🧪 Testing

# Run all tests
php artisan test

# Run specific test suite
php artisan test --testsuite=Feature

# Run with coverage
php artisan test --coverage

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
   git checkout -b feature/amazing-feature
  1. Commit your changes (use Conventional Commits)
   git commit -m "feat: add amazing feature"
  1. Push to your branch
   git push origin feature/amazing-feature
  1. Open a Pull Request

🐛 Bug Reports & Feature Requests

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)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Filament PHP - Amazing admin panel framework
  • Laravel - The PHP framework for web artisans
  • Spatie - Quality Laravel packages
  • All the amazing open-source contributors

📞 Support


⭐ Star this repo if you find it helpful!

Made with ❤️ using Filament PHP

Report Bug · Request Feature · Documentation

About

A practice project for learning Filament PHP admin panel framework.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages