spatie/laravel-dashboard
Build beautiful, Livewire-powered dashboards in Laravel. Provides base CSS, dashboard and tile view components, and a Tile model to persist fetched data so tiles can update themselves via polling.
This tile displays events on a Google calendar.

You can install the tile via composer:
composer require spatie/laravel-dashboard-calendar-tile
You must also set up the spatie/laravel-google-calendar package. That package will fetch data for Google Calendar. Here are instructions that show how you can obtain credentials to communicate with Google Calendar.
In the dashboard config file, you must add this configuration in the tiles key. The ids should contain any calendar id that you want to display on the dashboard.
// in config/dashboard.php
return [
// ...
'tiles' => [
'calendar' => [
'ids' => [
env('GOOGLE_CALENDAR_ID'),
],
'refresh_interval_in_seconds' => 60,
],
],
];
In app\Console\Kernel.php you should schedule the Spatie\CalendarTile\FetchCalendarEventsCommand to run. You can let in run every minute if you want. You could also run this less frequently if fast updates on the dashboard aren't that important for this tile.
// in app/console/Kernel.php
protected function schedule(Schedule $schedule)
{
// ...
$schedule->command(Spatie\CalendarTile\FetchCalendarEventsCommand::class)->everyMinute();
}
In your dashboard view you use the livewire:calendar-tile component. You should pass the calendar id for your calendar to the calendar-id property.
<x-dashboard>
<livewire:calendar-tile position="e7:e16" :calendar-id="config('dashboard.tiles.calendar.ids.0')"/>
</x-dashboard>
If you want to customize the view used to render this tile, run this command:
php artisan vendor:publish --provider="Spatie\CalendarTile\CalendarTileServiceProvider" --tag="dashboard-calendar-tile-views"
How can I help you explore Laravel packages today?