I recently bought a Raspberry Pi. My first thought when I receive it is how to connect to it from outside my home network. The difficulty is I live in an apartment building so my router does not connect to ISP but to another switch of the building. I have no way to ask the building to forward a specific port to my RPi from the outside world.
The solution for my problem is a TCP tunnel. There are plenty of services out there like ngrok, PiTunnel, etc. that can perform this feature. But being a tinker, I pushed myself…
So I have a spare iPad mini Gen 1 laying around and I decided to build a View — Controller system that I can play youtube video, show a clock, embed some string like cpu status, etc.
This is the story about my journey of 5 days work on a prototype built from a stack that I really enjoy to use — Firebase ❤️ VueJS / NuxtJS.
And this is the product, version
A video worths a thousand words so here it is
The beauty lies in the simplicity of your mind.
First words, I love Go routines.
I love the way everything falls together. How after all the thinking and designing. The final code just looks so elegant and simple.
Go handles things by channels. Think of it like lines of communication between Go routines (from here I shall refer to them as Gophers).