Files
shell-leaderboard/FEATURES.md
2026-03-24 17:01:12 +00:00

6.7 KiB

Installed Features

This document lists all features installed in this Laravel Docker Development Template.

Complete Feature List

1. Permissions & Roles (spatie/laravel-permission)

  • Version: 6.24.1
  • Features:
    • Role-based access control
    • Pre-configured roles: admin, editor, viewer
    • Permission system for granular access
    • User model integration with HasRoles trait
  • Usage:
    // Assign role
    $user->assignRole('admin');
    
    // Check permission
    if ($user->can('users.edit')) { }
    
    // Check role
    if ($user->hasRole('admin')) { }
    
  • Database Tables: roles, permissions, model_has_roles, model_has_permissions, role_has_permissions

2. Audit Trail (owen-it/laravel-auditing)

  • Version: 14.0.0
  • Features:
    • Track all model changes (create, update, delete)
    • Record user who made changes
    • Store old and new values
    • Audit log with timestamps
  • Usage:
    use OwenIt\Auditing\Contracts\Auditable;
    
    class Product extends Model implements Auditable
    {
        use \OwenIt\Auditing\Auditable;
    }
    
    // View audits
    $audits = $product->audits;
    
  • Database Table: audits

3. Error Tracking (spatie/laravel-ignition + spatie/flare-client-php)

  • Versions:
    • spatie/laravel-ignition: 2.11.0
    • spatie/flare-client-php: 1.10.1
    • spatie/ignition: 1.15.1
  • Features:
    • Beautiful error pages in development
    • Stack trace with code context
    • Solution suggestions for common errors
    • Optional Flare integration for production error tracking
  • Configuration: Already active in development mode

4. API Authentication (laravel/sanctum)

  • Version: 4.3.1
  • Features:
    • Token-based API authentication
    • SPA authentication
    • Mobile app authentication
    • API token management
  • Usage:
    // Generate token
    $token = $user->createToken('api-token')->plainTextToken;
    
    // In routes/api.php
    Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
        return $request->user();
    });
    
  • User Model: Updated with HasApiTokens trait
  • Database Table: personal_access_tokens

5. Site Settings

  • Features:
    • Logo upload
    • Color scheme (primary, secondary, accent)
    • Site name and description
    • Contact email
    • Maintenance mode toggle
  • Location: /admin/settings
  • Usage:
    // Get setting
    $siteName = Setting::get('site_name', 'Default');
    
    // Set setting
    Setting::set('primary_color', '#3b82f6');
    
  • Files:
    • Model: app/Models/Setting.php
    • Page: app/Filament/Pages/Settings.php
    • Migration: database/migrations/2026_03_09_022522_create_settings_table.php

6. Module System

  • Features:
    • Artisan command to scaffold complete modules
    • Auto-generates: Model, Controller, Routes, Views, Migration, Tests, Filament Resource
    • Modular architecture for organizing features
    • Blade templates with Tailwind CSS
  • Usage:
    php artisan make:module ProductCatalog
    
  • Documentation: app/Modules/README.md
  • Command: app/Console/Commands/MakeModuleCommand.php

7. Filament Admin Panel


8. Laravel Breeze

  • Version: 2.3
  • Features:
    • Login, register, password reset
    • Email verification
    • Profile management
    • Blade templates with Tailwind CSS
    • Dark mode support

9. Pest Testing Framework

  • Version: 3.8
  • Features:
    • Modern testing syntax
    • Laravel integration
    • Example tests included
    • Test helpers for permissions and modules
  • Usage:
    php artisan test
    # or
    ./vendor/bin/pest
    

10. Performance Optimizations

  • OPcache: Enabled with development-friendly settings
  • Redis: Configured for cache and queues
  • Volume Mounts: Optimized with :cached flag for WSL2
  • Config:
    • CACHE_STORE=redis
    • SESSION_DRIVER=database
    • QUEUE_CONNECTION=redis

Pre-Configured Roles & Permissions

Roles

  1. Admin - Full access to all features
  2. Editor - Can view and edit users
  3. Viewer - Read-only access to users

Permissions

  • users.view
  • users.create
  • users.edit
  • users.delete
  • settings.manage

Database Tables Created

  1. users - User accounts
  2. sessions - User sessions
  3. cache - Cache storage
  4. jobs - Queue jobs
  5. failed_jobs - Failed queue jobs
  6. password_reset_tokens - Password resets
  7. settings - Site configuration
  8. roles - User roles
  9. permissions - Access permissions
  10. model_has_roles - User-role assignments
  11. model_has_permissions - User-permission assignments
  12. role_has_permissions - Role-permission assignments
  13. audits - Audit trail logs
  14. personal_access_tokens - API tokens

Access Points

Feature URL Credentials
Public Site http://localhost:8080 -
Admin Panel http://localhost:8080/admin admin@example.com / password
Site Settings http://localhost:8080/admin/settings Admin access required
Email Testing http://localhost:8025 -
API Endpoints http://localhost:8080/api/* Requires Sanctum token

Next Steps

  1. Customize Site Settings - Set your logo and brand colors
  2. Create Modules - Use php artisan make:module to build features
  3. Assign Roles - Give users appropriate access levels
  4. Build API - Create API endpoints with Sanctum authentication
  5. Write Tests - Add tests for your custom features
  6. Enable Auditing - Add Auditable interface to models you want to track
  7. Deploy - See production deployment guide in README.md

Documentation


Package Versions

All packages are installed and configured:

{
  "require": {
    "php": "^8.2",
    "filament/filament": "^3.2",
    "laravel/framework": "^11.31",
    "laravel/sanctum": "^4.3",
    "laravel/tinker": "^2.9",
    "owen-it/laravel-auditing": "^14.0",
    "spatie/flare-client-php": "^1.10",
    "spatie/laravel-ignition": "^2.11",
    "spatie/laravel-permission": "^6.24"
  },
  "require-dev": {
    "laravel/breeze": "^2.3",
    "pestphp/pest": "^3.8",
    "pestphp/pest-plugin-laravel": "^3.2"
  }
}

Last Updated: March 9, 2026