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

No packages published

Languages