This node.js application sends push notifications when there's activity regarding to the coffee machine. The system is based on polling the energy consumption of the coffee machine using TP-Link HS110 as a monitoring device.
JavaScript CSS HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
models Prevent Slack spam by limiting the event types Mar 6, 2018
shared Use queue for fetch requests to make sure there's no race condition Dec 11, 2017
views A dummy Slack integration Mar 5, 2018
.env.example Remove unneeded LETSENCRYPT_EMAIL from .env & update .env.example DB … Nov 28, 2017
LICENSE Create LICENSE Dec 15, 2017 Fix typo in Feb 2, 2018
app.js Remove the specification of listening host Nov 28, 2017
esm-loader.mjs Use --experimental-modules instead of @std/esm Nov 25, 2017
http.js Convert all js (server & client) to ES6 modules Nov 19, 2017
jsconfig.json Exclude "shared" folder from root jsconfig Nov 20, 2017
package-lock.json Update npm packages Dec 11, 2017
package.json Update npm packages Dec 11, 2017
r.js Use DATABASE_URL instead of separate DB env variables Nov 28, 2017

Installation (for development)

git clone
cd smart-coffee
npm install

You will also need a RethinkDB server.

Finally copy .env.example to .env and set the config values. VAPID key creation has not yet been automated in this app, however, it is possible to do using the webpush module.


npm run-script debug

Run without debug

npm run-script start


Coffee cup icon made by Freepik from is licensed by CC 3.0 BY. Background image by jill111 is licensed by CC0 Creative Commons.