ultratechinnovations / laravel-social-follow
A complete, flexible follow system for Laravel applications with multi-model support, real-time notifications, and relationship management
Fund package maintenance!
UltraTechInnovations
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 2
pkg:composer/ultratechinnovations/laravel-social-follow
Requires
- php: ^8.3
- illuminate/contracts: ^10.0||^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.0.0||^8.22.0
- pestphp/pest: ^2.0||^3.0
- pestphp/pest-plugin-arch: ^2.5||^3.0
- pestphp/pest-plugin-laravel: ^2.0||^3.0
- pestphp/pest-plugin-type-coverage: ^3.6
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
- spatie/laravel-ray: ^1.35
This package is not auto-updated.
Last update: 2026-01-06 20:49:01 UTC
README
A complete, flexible follow system for Laravel applications with multi-model support, real-time notifications, and relationship management
Installation
You can install the package via composer:
composer require ultratechinnovations/laravel-social-follow
You can publish and run the migrations with:
php artisan vendor:publish --tag="social-follow-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="social-follow-config"
Usage
Traits
CanFollow
Add to any model (e.g., User) that should be able to follow others.
<?php use Illuminate\Foundation\Auth\User as Authenticatable; use UltraTechInnovations\SocialFollow\Traits\CanFollow; class User extends Authenticatable{ use CanFollow; } // Usages $user->follow($otherUser); $user->unfollow($otherUser); $user->toggleFollow($otherUser); $user->isFollowing($otherUser); $user->getFollowings(); $user->followingCount(); // If approval_required is true $user->hasRequestedToFollow($otherUser); $otherUser->acceptFollowRequest($user);
CanBeFollowed
Add to any model that can be followed.
<?php use Illuminate\Foundation\Auth\User as Authenticatable; use UltraTechInnovations\SocialFollow\Traits\CanBeFollowed; class User extends Authenticatable{ use CanBeFollowed; } // Usage $user->isFollowedBy($otherUser); $user->getFollowers(); $user->pendingFollowers(); // If approval_required is true
CanBlock
Add to any model that should be able to block others.
<?php use Illuminate\Foundation\Auth\User as Authenticatable; use UltraTechInnovations\SocialFollow\Traits\CanBlock; class User extends Authenticatable{ use CanBlock; } // Usage $user->block($otherUser); $user->unblock($otherUser); $user->hasBlocked($otherUser);
CanBeBlocked
Add to any model that can be blocked.
<?php use Illuminate\Foundation\Auth\User as Authenticatable; use UltraTechInnovations\SocialFollow\Traits\CanBeBlocked; class User extends Authenticatable{ use CanBeBlocked; } // Usage $user->isBlockedBy($otherUser);
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.