Analytics administration dashboard
* Page-view tracking * Unique visitor and session metrics * Content-view events * Search analytics * Conversion tracking * Form-submission events * Commerce events * Site-aware analytics * Privacy-conscious visitor hashing * Optional IP anonymisation * Do Not Track support * Configurable excluded paths * Daily metric aggregation * Top-page reporting * Recent-event activity * Report definitions * Scheduled report foundation * CSV and JSON report formats * Report execution history schema * Analytics retention and pruning * Administration navigation * Analytics permissions * Module registration * Feature test
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
namespace Modules\Analytics\Providers;
|
||||
use Illuminate\Console\Scheduling\Schedule;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Modules\Analytics\Console\AggregateAnalytics;
|
||||
use Modules\Analytics\Console\PruneAnalytics;
|
||||
use Modules\Analytics\Console\RunScheduledReports;
|
||||
final class AnalyticsServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function register(): void
|
||||
{
|
||||
$this->app->register(RouteServiceProvider::class);
|
||||
$this->mergeConfigFrom(module_path('Analytics', 'Config/config.php'), 'analytics');
|
||||
}
|
||||
public function boot(): void
|
||||
{
|
||||
$this->loadMigrationsFrom(module_path('Analytics', 'Database/Migrations'));
|
||||
$this->loadViewsFrom(module_path('Analytics', 'Resources/views'), 'analytics');
|
||||
if ($this->app->runningInConsole()) {
|
||||
$this->commands([AggregateAnalytics::class, PruneAnalytics::class, RunScheduledReports::class]);
|
||||
$this->callAfterResolving(Schedule::class, function (Schedule $schedule): void {
|
||||
$schedule->command('analytics:aggregate')->hourly()->withoutOverlapping();
|
||||
$schedule->command('analytics:reports')->everyFifteenMinutes()->withoutOverlapping();
|
||||
$schedule->command('analytics:prune')->dailyAt('02:30')->withoutOverlapping();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user