Here is my new small project – TableStatus / StenGazeta.
I have been thinking about creating some kind of a status screen for my home and family for a long time.
Our friends have recently donated an old iPad 2 to us. It runs iOS 9.3.5, so I can barely install a handful of apps from Appstore. That’s where this idea started.
I could never gather all the details until this Christmas, when I got some time and slapped together a preact web app.
It’s a web page that displays widgets:
- daily weather – temperature, conditions and humidity, and lunar phase
- agenda – events from our shared calendar for the day (events are also togglable, so you can use it as wishlist)
- photoslider with pictures from selected google photos albums
- simple notes
Nothing particularly interesting about those – mostly leveraging a couple of APIs.
I used openweathermap.org for weather, and Google APIs to retrieve the calendar and photos.
The notes are just a text area that stores value in localStorage, not synced across sessions.
You can just visit StenGazeta page on your iPad and it will work.
In order for Calendars and Photos to work, you need to login with your Google account.
Source and Setting Up
Right now, I’m happy with the result, though I’m adding some ideas as enchancements on Github.
Source code on Github
It has a readme which has some notes on the API keys that you need to get and some other vars to set up.
The project is build with webpack and can be hosted on any kind of hosting. I use Netlify for it.
You can set up one for youself, too.
Anyway, let me know if you’d like to use it, but it lacks something via this form.
A note to React gurus and beginners
The project is definitely not to show off my React skills, rather the opposite – I wanted to slap some stuff together in a very limited timeframe and also to try preact.
Also if you are a beginner and want to learn by its code – it’s not the best specimen.
I wanted to go really minimal and was lured by preact’s promise of 3kb gzipped size.
However I ended using the preact CLI to create the project boilerplate together will the webpack and compilers and other stuff, and 260Mb node_modules.
Also tried to start with React Native, but its toolchain is still not clear to me. Ran into a couple of issues with the suggested solutions as “reinstall all your node_modules and cocoa pods”, not cool.