| Package Data | |
|---|---|
| Maintainer Username: | zaghadon | 
| Maintainer Contact: | nzaghad@topazdom.com (Nzagha David Eze) | 
| Package Create Date: | 2022-08-08 | 
| Package Last Update: | 2022-08-27 | 
| Home Page: | |
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-29 03:01:45 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 76 | 
| Monthly Downloads: | 0 | 
| Daily Downloads: | 0 | 
| Total Stars: | 1 | 
| Total Watchers: | 0 | 
| Total Forks: | 0 | 
| Total Open Issues: | 0 | 
A full and simple Toolkit Package for instantly adding Social Features to Laravel Project Adapted From Miladimos
Run the command below to add this package:
composer require zaghadon/laravel-social
Open your config/socials.php and add the following to the providers array:
Zaghadon\Social\Providers\SocialServiceProvider::class,
Run the command below to install package:
php artisan social:install
Run the command below to migrate database:
php artisan migrate
Depending on the Capabilities You want implemented, as the required traits to the right Models.
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Zaghadon\Social\Traits\Like\Likeable;
class Post extends Model
{
    use HasFactory,
        Likeable;
}
In the User Model:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Like\CanLike;
class User extends Authenticatable
{
    use HasFactory,
        CanLike;
}
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Zaghadon\Social\Traits\Comment\Commentable;
class Post extends Model
{
    use HasFactory,
        Commentable;
}
In the User Model:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Comment\Commentor;
class User extends Authenticatable
{
    use HasFactory,
        Commentor;
}
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Zaghadon\Social\Traits\Bookmark\Bookmarkable;
class Post extends Model
{
    use HasFactory,
        Bookmarkable;
}
In the User Model:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Bookmark\CanBookmark;
class User extends Authenticatable
{
    use HasFactory,
        CanBookmark;
}
In the User Model:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zaghadon\Social\Traits\Follow\Followable;
class User extends Authenticatable
{
    use HasFactory,
        Followable;
}
In controllers you have these methods:
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
    public function index()
    {
        $post = Post::find(1);
        $post->likes // return all likes
        
    }
}
Like
Favorite *
Tag **
Category **
Bookmark
Follow \ Unfollow
Subscribe **
Comment
Vote / Rate System *