Coffee statistics for the Spatie office
Over at Spatie we drink a lot of coffee. How much coffee? We had no idea until we created this dashboard tile.
Using a separate Raspberry Pi running this Python script we can listen to the sounds our office coffee machine makes and update the dashboard tile with the latest statistics.
This tile can be used on the Laravel Dashboard.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
You can install the package via composer:
composer require spatie/laravel-dashboard-coffee-tile
You will also need to publish and run the migrations:
php artisan vendor:publish --provider="Spatie\CoffeeTile\CoffeeTileServiceProvider" --tag="coffee-tile-migrations" php artisan migrate
In your dashboard view you can add the
livewire:coffee-tile component. The
total-offset will offset the total amount of brewed coffees and is optional.
<x-dashboard> <livewire:coffee-tile position="e7:e16" total-offset="1337" /> </x-dashboard>
Finally, coffees are counted by POST requests to the included
CoffeeController. Add the following route to your
routes/api.php file. Endpoint authentication is up to you. Make sure to add a
auth middleware to this route if you feel it's necessary.
Additionally, you'll need something to hook up your coffee machine to this coffee endpoint. Your machine might have a very cool web UI that can send a webhook to the dashboard or you might need to get creative with an Arduino or Raspberry Pi.
Our set-up uses a Raspberry Pi to listen to the coffee machine noises to determine when a cup is brewing. This is a separate project that can be found here.
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email email@example.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.