Giter Site home page Giter Site logo

xymantec / laravel-crm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from venturedrake/laravel-crm

0.0 0.0 0.0 6.42 MB

Open Source Laravel CRM Package

Home Page: https://laravelcrm.com

License: MIT License

JavaScript 2.54% PHP 56.50% Blade 40.26% SCSS 0.70%

laravel-crm's Introduction

Laravel CRM

Latest Version on Packagist Build Status StyleCI Codacy Badge Total Downloads

The free CRM you have been looking for, this package will add CRM functionality to your laravel projects or can be used as a complete standalone CRM built with Laravel.

โš ๏ธ Warning: This is a pre-release version that is not recommended for production use.

Use Cases

  • Use as a free CRM for your business or your clients
  • Build a custom CRM for your business or your clients
  • Use as an integrated CRM for your Laravel powered business (Saas, E-commerce, etc)
  • Use as a CRM for your Laravel development business
  • Run a multi-tenant CRM Saas business

Features

  • Dashboard
  • Sales leads management
  • Deal management
  • Contact database management
  • Products & Product Categories
  • Notes
  • Users & Teams
  • Secure registration & login
  • Laravel Jetstream/Spark teams support
  • Roles & Permissions thanks to Spatie Permissions
  • Model Audit logging thanks to Laravel Auditing

Requirements

  • PHP: 7.3 or higher
  • For MySQL users: 5.7.23 or higher
  • For MariaDB users: 10.2.7 or higher
  • Laravel 6.0 or higher

Installation (10-15mins)

Step 1. Install a Laravel project if you don't have one already

https://laravel.com/docs/6.x#installation

Step 2. Make sure you have set up Laravel auth in your project

https://laravel.com/docs/6.x/authentication

Step 3. Require the current package using composer:

composer require venturedrake/laravel-crm:^0.10

Step 4. Publish the migrations, config & assets

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

Step 5. Update the various config settings in the published config file:

After publishing the package assets a configuration file will be located at config/laravel-crm.php

Please read the comments in this file for each setting. Most can be left as the default, however you will need to update the "CRM Owner" setting to access the CRM initially.

Please note if you set the route_prefix to blank or null you will need to update the default routes/web.php file. All the crm routes are managed by the package, so it should look just as per below after removing the default welcome route and redirecting the default /home route to the dashboard.

Laravel 7 and below:
<?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 view('dashboard');
})->name('dashboard');

Step 6. Run migrations:

php artisan migrate

Step 7. Run database seeder:

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

Step 8. Update User Model

  • Add the HasCrmAccess, HasCrmTeams, HasRoles traits.
  • Add the Lab404\AuthChecker\Models\HasLoginsAndDevices trait and the Lab404\AuthChecker\Interfaces\HasLoginsAndDevicesInterface interface.
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;

    // ...
}

Step 9. Register at least one user and log in or if you already have a user login with the crm owner you set in step 5

Access the crm to register/login at http://your-project-url/crm

Note if you modified the route_prefix setting from the default the above url will change dependent on that setting.

Upgrade

Upgrading from >= 0.2

Step 1. Run the following to the update migrations and publish assets:

composer require venturedrake/laravel-crm::^0.10
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

Step 2. Run the database seeder

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

Upgrading from < 0.2

Step 1. Run the following to the update package:

composer require venturedrake/laravel-crm::^0.9
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

Step 2. Delete previously published package views located in resources/views/vendor/laravel-crm/*

Step 3. Add HasCrmAccess, HasCrmTeams & HasRoles traits to App\User model, see installation Step 8.

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Roadmap

  • Tasks
  • Files / Documents
  • Calendar (Calls, Meetings, Reminders)
  • Custom Fields
  • Activity Feed / Timelines
  • CSV Import / Export

Feedback

Participate in the discord community

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.