taba/crm

A reusable CRM package for Laravel.

Installs: 356

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/taba/crm


README

Taba CRM Logo

Taba CRM Package for Laravel

A complete, "plug-and-play" CRM panel for Laravel, powered by Filament.

Latest Version on Packagist License Total Downloads

Taba CRM is a complete, reusable package that provides a full-featured CRM panel. It includes resources for managing posts, categories, and users, and comes pre-configured with essential plugins for a rich user experience.

✨ Features

  • Resource Management: Pre-built Filament resources for Posts, Categories, and Users.
  • Plugin Ecosystem: Integrated with popular plugins like Breezy (Profiles), Curator (Media), and Peek (Previews).
  • Simple Installation: Get up and running with a single custom Artisan command.
  • Customizable: Publishable assets (config, views, etc.) allow for easy customization.

📋 Prerequisites

Before you begin, ensure you have a fresh Laravel project with the following configured:

  • Laravel 10+
  • Filament 3+ installed (php artisan filament:install --panels)
  • Database connection set up in your .env file.

🚀 Installation

Getting started is simple. Follow these steps to integrate Taba CRM into your project.

Step 1: Require with Composer

First, pull the package into your project.

composer require taba/crm

Step 2: Run the Install Command

Next, run our custom installation command. This smart command handles all the necessary setup for the package and its dependencies, including:

  • Detecting and removing Tailwind CSS v4 if present (converting to v3)
  • Automatically converting your app.css from Tailwind v4 to v3 syntax
  • Removing @tailwindcss/vite plugin if present
  • Configuring Tailwind, Vite, and PostCSS
  • Publishing assets and running migrations
php artisan crm:install

Note: The install command is smart and non-destructive. It will:

  • Detect if you're using Tailwind CSS v4 and automatically convert your files to v3
  • Skip modifications if files are already properly configured
  • Only add what's needed without breaking existing configurations

Step 3: Register the Plugin

To activate the CRM panel, you need to register the CrmPlugin in your project's AdminPanelProvider.

Open app/Providers/Filament/AdminPanelProvider.php and add the plugin to the plugins() array:

// app/Providers/Filament/AdminPanelProvider.php

use Taba\Crm\CrmPlugin; // 👈 Import the plugin at the top

public function panel(Panel $panel): Panel
{
    return $panel
        // ... other panel settings
        ->plugins([
            new CrmPlugin(), // 👈 Add this line
        ]);
}

Step 4: Compile Frontend Assets

Finally, compile your project's frontend assets to ensure the admin panel's styles and scripts are loaded correctly.

npm install
npm run dev

And you're done! 🎉 You can now visit /admin and log in to access your new CRM panel.

🔧 Customization (Optional)

If you need to modify the package's default behavior, you can publish its assets.

php artisan vendor:publish --tag=crm-config
php artisan vendor:publish --tag=crm-views
php artisan vendor:publish --tag=crm-database

📄 License

The Taba CRM is open-sourced software licensed under the MIT license.