shankar / laravel-visit-tracker
Track page and model visits (with morph visitor) + analytics.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/shankar/laravel-visit-tracker
Requires
- php: >=8.1
- illuminate/support: ^10.0|^11.0|^12.0
This package is not auto-updated.
Last update: 2025-11-23 06:09:59 UTC
README
Easily track page and model visits with morph visitor model.
Installation
composer require shankar/laravel-visit-tracker
Publish config and migrations:
php artisan vendor:publish --tag=visit-tracker-config php artisan vendor:publish --tag=visit-tracker-migrations php artisan migrate
Usage
Tracking visits
Add the TracksVisits trait to your model:
use Shankar\VisitTracker\Traits\TracksVisits; class Post extends Model { use TracksVisits; }
Tracking model visits
in controller log the visit
public function show(Post $post) { $post->logVisit(); return view('post.show', compact('post')); }
Tracking page visits
in middleware
Route::get('/my-url', function () { })->middleware(TrackPageVisit::class);
Get Analytics Data
use Shankar\VisitTracker\Facades\VisitTracker; use App\Models\Post; VisitTracker::mostVisitedPages(); VisitTracker::userMostVisitedPages($user); VisitTracker::globalMostVisitedModels(Post::class); VisitTracker::userMostVisitedModels($user, Post::class); VisitTracker::userModelTypeStats($user); VisitTracker::userAllVisit($user);
Get Analytics Data with Date Range
use Shankar\VisitTracker\Facades\VisitTracker; use App\Models\Post; $fromDate = \Carbon\Carbon::now()->subMonth(); $toDate = \Carbon\Carbon::now(); VisitTracker::mostVisitedPages($fromDate, $toDate); VisitTracker::userMostVisitedPages($user, $fromDate, $toDate); VisitTracker::globalMostVisitedModels(Post::class, $fromDate, $toDate); VisitTracker::userMostVisitedModels($user, Post::class, $fromDate, $toDate); VisitTracker::userModelTypeStats($user, $fromDate, $toDate); VisitTracker::userAllVisit($user, $fromDate, $toDate);