@php $humanDiff = function(array $array) { foreach($array as $value) $array[array_search($value, $array)] = \Carbon\Carbon::parse($value)->toFormattedDateString(); return $array; }; @endphp
Visitors
@php $data = \Spatie\Analytics\AnalyticsFacade::fetchTotalVisitorsAndPageViews(\Spatie\Analytics\Period::months(1))->toArray(); $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setType('line')->setHeight(680)->setXAxis($humanDiff(array_column($data, 'date')))->setDataset([ [ 'name' => 'Visitors', 'data' => array_column($data, 'visitors') ], [ 'name' => 'Page views', 'data' => array_column($data, 'pageViews') ] ]); @endphp
{{ $chart->script() }}
Most popular pages
@php $data = \Spatie\Analytics\AnalyticsFacade::fetchMostVisitedPages(\Spatie\Analytics\Period::months(1))->toArray(); $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setType('bar')->setHeight(300)->setXAxis(array_column($data, 'url'))->setDataset([ [ 'name' => 'Views', 'data' => array_column($data, 'pageViews') ] ]); @endphp
{{ $chart->script() }}
HTTP Referer
@php $data = \Spatie\Analytics\AnalyticsFacade::fetchTopReferrers(\Spatie\Analytics\Period::months(1))->toArray(); $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setType('bar')->setHeight(300)->setXAxis(array_column($data, 'url'))->setDataset([ [ 'name' => 'Views', 'data' => array_column($data, 'pageViews') ] ]); @endphp
{{ $chart->script() }}
Most popular browsers
@php $data = \Spatie\Analytics\AnalyticsFacade::fetchTopBrowsers(\Spatie\Analytics\Period::months(1))->toArray(); $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setType('bar')->setHeight(300)->setXAxis(array_column($data, 'browser'))->setDataset([ [ 'name' => 'Sessions', 'data' => array_column($data, 'sessions') ] ]); @endphp
{{ $chart->script() }}
Users
@php $data = \Spatie\Analytics\AnalyticsFacade::fetchUserTypes(\Spatie\Analytics\Period::months(1))->toArray(); $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setType('pie')->setHeight(300)->setLabels(array_column($data, 'type'))->setDataset(array_column($data, 'sessions')); @endphp
{{ $chart->script() }}
Users

{{ \App\User::where('bot', '!=', true)->count() }}

Total referrals

{{ \Illuminate\Support\Facades\DB::table('users')->where('referral', '!=', null)->count() }}

Active referrals

@php $count = 0; foreach(\App\User::where('referral', '!=', null)->get() as $referral) { $user = \App\User::where('_id', $referral->referral)->first(); if(in_array($referral->_id, $user->referral_wager_obtained ?? [])) $count++; } @endphp {{ $count }}

New Users
@php $fill_data = function() { $out = []; for($i = 0; $i <= 23; $i++) { if (\Carbon\Carbon::now()->timestamp < \Carbon\Carbon::today()->addHours($i)->timestamp) continue; array_push($out, \Illuminate\Support\Facades\DB::table('users')->where('created_at', '>=', \Carbon\Carbon::today()->addHours($i))->where('bot', '!=', true) ->where('created_at', '<=', \Carbon\Carbon::today()->addHours($i+1))->count()); } return $out; }; $fill_labels = function() { $out = []; for($i = 0; $i <= 23; $i++) { if (\Carbon\Carbon::now()->timestamp < \Carbon\Carbon::today()->addHours($i)->timestamp) continue; array_push($out, $i.':00 - '.$i.':59'); } return $out; }; $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('Today')->setType('area')->setHeight(600)->setXAxis($fill_labels())->setDataset([[ 'name' => 'Total', 'data' => $fill_data() ]]); @endphp
{{ $chart->script() }} @php $fill_data = function($days) { $out = []; for($i = 0; $i < $days; $i++) array_push($out, \Illuminate\Support\Facades\DB::table('users')->where('created_at', '>=', \Carbon\Carbon::today()->subDays($i + 1)) ->where('created_at', '<=', \Carbon\Carbon::today()->subDays($i))->count()); return array_reverse($out); }; $fill_labels = function($days) { $out = []; for($i = 0; $i < $days; $i++) array_push($out, $i > 0 ? $i .' days ago' : 'Today'); return array_reverse($out); }; $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('7 days')->setType('area')->setHeight(600)->setXAxis($fill_labels(7))->setDataset([[ 'name' => 'Total', 'data' => $fill_data(7) ]]); @endphp {{ $chart->script() }} @php $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('15 days')->setType('area')->setHeight(600)->setXAxis($fill_labels(15))->setDataset([[ 'name' => 'Total', 'data' => $fill_data(15) ]]); @endphp {{ $chart->script() }} @php $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('30 days')->setType('area')->setHeight(600)->setXAxis($fill_labels(30))->setDataset([[ 'name' => 'Total', 'data' => $fill_data(30) ]]); @endphp {{ $chart->script() }} @php $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('3 months')->setType('area')->setHeight(600)->setXAxis($fill_labels(90))->setDataset([[ 'name' => 'Total', 'data' => $fill_data(90) ]]); @endphp {{ $chart->script() }} @php $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('6 months')->setType('area')->setHeight(600)->setXAxis($fill_labels(180))->setDataset([[ 'name' => 'Total', 'data' => $fill_data(180) ]]); @endphp {{ $chart->script() }} @php $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setTitle('1 year')->setType('area')->setHeight(600)->setXAxis($fill_labels(365))->setDataset([[ 'name' => 'Total', 'data' => $fill_data(365) ]]); @endphp {{ $chart->script() }}
Most popular browsers
@php $data = (array) \Spatie\Analytics\AnalyticsFacade::performQuery(\Spatie\Analytics\Period::months(1), 'ga:sessions', [ 'metrics' => 'ga:sessions', 'dimensions' => 'ga:browser' ])['rows']; $labels = []; $dataset = []; foreach ($data as $info) { array_push($labels, $info[0]); array_push($dataset, intval($info[1])); } $chart = new \ArielMejiaDev\LarapexCharts\LarapexChart(); $chart->setType('pie')->setHeight(300)->setLabels($labels)->setDataset($dataset); @endphp
{{ $chart->script() }}