venturedrake/laravel-crm

一个免费的开源CRM,作为laravel项目的包构建


README

Latest Stable Version MIT Licensed Codacy Badge Total Downloads

您一直在寻找的免费Laravel CRM,此包将为您的laravel项目添加CRM功能,或者可以作为完全独立的CRM使用Laravel构建。

使用场景

  • 将其作为您的企业或客户的免费CRM使用
  • 为您的企业或客户构建自定义CRM
  • 将其作为Laravel驱动的企业的集成CRM使用(SaaS、电子商务等)
  • 将其作为您的Laravel开发企业的CRM使用
  • 运行多租户CRM SaaS业务

功能

  • 仪表板
  • 销售线索管理
  • 交易管理
  • 报价构建器
  • 发送带有接受/拒绝功能的报价
  • 订单与开票
  • 采购订单
  • 配送
  • Kanban看板
  • 活动流/时间线
  • 自定义字段
  • 客户管理
  • 联系数据库管理
  • 产品与产品类别
  • 笔记与任务
  • 文件上传
  • 用户与团队
  • 安全注册与登录
  • Laravel Jetstream/Spark团队支持
  • 通过Spatie Permissions实现角色与权限
  • 通过Laravel Auditing实现模型审计记录
  • Xero集成

要求

  • PHP: 7.3或更高版本
  • MySQL用户: 5.7.23或更高版本
  • MariaDB用户: 10.2.7或更高版本
  • Laravel: 6.0或更高版本

实时演示

https://demo.laravelcrm.com/register

快速入门

如果您想快速使用完整的Laravel CRM,请访问laravel-crm-starter项目

如果您更喜欢将Laravel CRM安装到自己的Laravel应用程序中,请按照以下安装步骤操作。

安装

步骤1. 如果您还没有,请安装一个Laravel项目

https://laravel.net.cn/docs/installation

步骤2. 确保您已在项目中设置了认证

https://laravel.net.cn/docs/authentication

步骤3. 使用Composer要求当前包

composer require venturedrake/laravel-crm

步骤4. 发布迁移、配置和资产

php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="config"
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="assets" --force

步骤5. 更新已发布的配置文件中的各种配置设置

在发布包资产后,配置文件将位于config/laravel-crm.php

请阅读此文件中的每个设置的注释。大多数可以保留为默认设置,但您需要更新“CRM所有者”设置以最初访问CRM。

请注意,如果您将route_prefix设置为空或null,则需要更新默认的routes/web.php文件。所有CRM路由都由包管理,因此删除默认欢迎路由并将默认的/home路由重定向到仪表板后,它应该看起来如下。

Laravel 7及以下
<?php

use Illuminate\Support\Facades\Route;

Auth::routes();

Route::get('/home', function (){
    return redirect('/');
});
Laravel 8+
<?php

use Illuminate\Support\Facades\Route;

Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {
    return redirect('/');
})->name('dashboard');

步骤6. 运行迁移

php artisan migrate

步骤7. 运行数据库种子

php artisan db:seed --class="VentureDrake\LaravelCrm\Database\Seeders\LaravelCrmTablesSeeder"

步骤8. 更新用户模型

  • 添加HasCrmAccess、HasCrmTeams、HasRoles特性。
  • 添加 Lab404\AuthChecker\Models\HasLoginsAndDevices 特性和 Lab404\AuthChecker\Interfaces\HasLoginsAndDevicesInterface 接口。
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
use VentureDrake\LaravelCrm\Traits\HasCrmAccess;
use VentureDrake\LaravelCrm\Traits\HasCrmTeams;
use Lab404\AuthChecker\Models\HasLoginsAndDevices;
use Lab404\AuthChecker\Interfaces\HasLoginsAndDevicesInterface;

class User extends Authenticatable implements HasLoginsAndDevicesInterface
{
    use HasRoles;
    use HasCrmAccess;
    use HasCrmTeams;
    use HasLoginsAndDevices;

    // ...
}

步骤 9. 至少注册一个用户并登录,或者如果您已经有一个用户,使用步骤 5 中设置的 crm 所有者登录。

http://your-project-url/crm 访问 crm 进行注册/登录

注意:如果您已修改了默认的 route_prefix 设置,上述 URL 将根据该设置进行更改。

升级

从 >= 0.2 升级

步骤 1. 执行以下命令以更新迁移并发布资源

composer require venturedrake/laravel-crm
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="config"
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="assets" --force
php artisan migrate

步骤 2. 运行数据库种子器

php artisan db:seed --class="VentureDrake\LaravelCrm\Database\Seeders\LaravelCrmTablesSeeder"

步骤 3. 如果使用团队支持,请运行以下权限更新命令

php artisan laravelcrm:permissions

步骤 4. 运行更新命令以更新数据库

php artisan laravelcrm:update

从 < 0.2 升级

步骤 1. 执行以下命令以更新包

composer require venturedrake/laravel-crm
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="config"
php artisan vendor:publish --provider="VentureDrake\LaravelCrm\LaravelCrmServiceProvider" --tag="assets" --force
php artisan migrate

步骤 2. 删除之前发布的位于 resources/views/vendor/laravel-crm/* 的包视图

步骤 3. 向 App\User 模型添加 HasCrmAccess、HasCrmTeams & HasRoles 特性,参见安装步骤 8。

测试

composer test

变更日志

有关最近更改的详细信息,请参阅 CHANGELOG

路线图

  • 文档
  • 日历
  • CSV 导入/导出
  • 短信
  • 支付

反馈

参与 discord 社区

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何安全相关的问题,请通过电子邮件发送到 andrew@venturedrake.com,而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件