This website originated from a random weekend thought. Why don’t I build my own website to record what I’ve learned on my way? The idea was all I needed to get started.
To make this more of a challenge, I decided that I wouldn’t be using any existing Content Management System (CMS). I wanted to start from scratch and apply as many skills as I learned to get this site online.
As a self-taught programmer, it was when I tried implementing this site that I learned - computer science is not just about programming. There were a lot of things I had to put on the roadmap.
For me, programming was the part I didn’t have issues with (yet). That was because, as you can see, this is a very basic static website. So, without much requirement on the architecture, I went straight to a Cloud Service Provider and booted up a VM.
Here comes the first problem - how in the heavens am I supposed to transfer the files I want to the VM? After a while of googling, I temporarily solved the issue by using the SCP protocol to connect my local device to the server. I was hesitant to use Gitlab or Github as I was not sure how to clone a private repository onto the VM whilst ensuring security. After some more reading, I concluded that I should be looking into building a deployment pipeline soon.
Then comes the problem with port control. I studied enough cybersecurity to know that misconfiguring this is the equivalent of leaving my front door open. I was extra cautious about what I opened to the public and realised this was the moment when I needed the mystical “web server” thing I often hear my colleagues talk about. Now I can rest assured that readers like you will reach the correct part of my server. In the roadmap, I also plan to learn more about what can be done with these web servers.
Last but not least, the godsend “Let’s encrypt”. It was great to have a free CA to push the public internet to use HTTPS protocol for a more secure browsing experience. Getting a certificate was a daunting process for me. But Let’s Encrypt really made the implementation an enjoyable process.
Ending on this bright note, I intend to continue the development of this site and please stay tuned for more updates!