LukasBombach / de1

JavaScript API for the DE1 Espresso Machine
MIT License
21 stars 0 forks source link

Cloud functionality #26

Open oscar-b opened 4 years ago

oscar-b commented 4 years ago

Some ideas in having the app (optionally?) connected to "ze cloud".

Provider

I've done projects using Firebase, it's a great PAAS that would work great for our use case. One pro is that users could, if they want to, set up their own instance instead of using a central one which we might end up costing some money (this will make profile sharing harder though).

Their database service would be a good fit for storing data from the machine, as well as profiles and so on.

Auth

Firebase have auth handling, which may be needed. It would make sense to have the DE1 machine serial be your login, but there are people with more than one machine so it doesn't scale well. A traditional login is probably the way to go.

This would make it easy to sync settings, history and profiles between multiple machines.

Profiles

Sharing profiles is an often requested feature. These could be published in FB database, and shared with its UUID (or some short form thereof). From there, it could be used directly or duplicated to a new profile. Minor adjustments such, as temperature, should be possible to apply on top of the profile. Re-publishing a profile needs to create a new version of it, so that users of it can decide if they want the updated version or not, but using the same UUID so that the user can be informed about a new version.

Private profiles should basically be the same, the publish part should just be a flag in the profile (or not, considering the unique UUID).

Equipment

The users equipment should be stored in the database, together with for instance settings, shot counts and shot history. It should also be possible to add grinder info, weight info (for #3) and so on.

LukasBombach commented 4 years ago

๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘