For the moment, I suppose, this is a project better fit for this topic, but it may soon transition to the Maker topic.
Last year, my partner and I got really close to buying a Skylight-brand electronic family calendar. The biggest drawback, in my book (other than the cost… both up-front and on-going) was data privacy.
Any company you grant your data to will eventually leak it to others – often by design, and assuredly not by design, at least once, over a long enough timeline.
But when my older two started up softball practice a couple of weeks ago, and the oldest still has soccer (association football), the weekends became very busy and we decided that we needed something better than a dry-erase calendar.
So I bought a touchscreen monitor and a Raspberry Pi Zero W 2
and set out to follow, generally, this thing I found on the internet (by MagicMirror forum member tjat
):
Of course, I thought it’d be really easy; I’d just copy what they did and I’d have something functional in no time.
Well, then I started learning the MagicMirror2 module ecosystem and decided to go in a, mostly, different direction. And then I bought a Raspberry Pi Model 4B
because the Zero W 2 just couldn’t hack it.
Without further ado, I present: The Family Calendar, featuring…
An incomplete dashboard page
The (mostly complete) month calendar page
And two blank pages where other widgets should be!
So far, that’s all I’ve gotten. Most of my time has been re-learning CSS and struggling to do CSS on a constantly-refreshing DOM.
The original purpose of the touchscreen was to allow for managing calendar events easily. At the moment, the calendars are all hosted by Google… which, if you remember what I said above about data privacy, you’ll realize that I’m an idiot. Well, an idiot for now, at least. That is, until I can figure out CalDav or some custom, self-hosted, bespoke calendaring-api.
Once I figure out where the calendars will live in perpetuity, then I’ll work on the event CRUD.
Learning the ecosystem, relearning CSS and javascript, and then wrangling with CSS to get this far has taken me about a week. And I decided to roll out this version for now while I work on adding a couple of smaller widgets on the main dashboard (weather, meal plan) and then add a full weather page (3rd button), and then eventually some sort of mean-plan and grocery widgets on the 4th page.
As it stands now, you can use swipe gestures left and right to move between the 4 pages, and on the pages with calendar/events, you can swipe up and down to travel forward and backward in time.
Double-tap is currently not working for some reason, which is supposed to return the calendars to default state.
Lots to do, but at least we can visualize the upcoming soccer/softball weekend schedule