Web journey so far

Travel Blog

My fascination for building on the web has been going on for a while. Many years ago I build my first project for the web. It was a wordpress travel blog that required very little technical knowledge and mainly served as way to update my family and friends.

From python to the web

After diving deeper and deeper into the python world throughout my studies of physics and machine learning, I started to give the web another go. I discovered a python framework called django, that seemed perfect for me. It abstracts away many of the more difficult concepts for someone just starting out and allows to quickly build scalable applications. After some test projects that are hidden deep in my file system I started working on a virtual queue management system that would allow people to queue up and retrieve updates using their smartphones. Using an SQLite database I deployed my project for free on pythonanywhere which allows for hassle-free deployment of django projects. If you are lucky the project is still online and can be found here.

Delving into JS

However, what I really wanted was to be able to quickly produce scalable test applications that I could cheaply (preferably free) host and scale. At this time I also discovered a very fun and informative YouTube channel called fireship. There I learned about the options of SPA (single-page-applications) and serverless hosting.

In django I was just writing server-side code and would handle user GET requests on the server by filling my HTML templates with the data corresponding to the user request. In a single-page application, however, everything is handled on the client-side. When coming to a SPA the client gets the entire application right away. Then JavaScript takes over and decides what gets rendered and what stays hidden. If necessary it will then request more specific data from a database to populate the site with relevant information. This approach really resonated with me, because it allows for a very clean disentanglement between front-end (what the user sees) and back-end (handling databases, authentication and so on). Another advantage is that it allows you to use BAAS (backend as a service) services like firebase.

Vue + Firebase

Firebase is a part of Google Cloud Platform that focuses on allowing developers to quickly develop, deploy and manage application. It offers many things, like a NoSQL (kind of) database, called firestore, easy user authentication and more. The advantage of using such a non-sequential database is that it scales horizontally instead of vertically. That basically means that instead of needing a beefier and beefier computer to scale your application, you can just add more and more small computers running the application. This removes the headache of trying to find the right size of a server for your application and having to adapt to your growing user base.

This was a system I wanted to try out, so I started to learn Vue, a frontend JavaScript framework. There are three major ones: Angular, backed by Google, React, backed by Meta, and Vue, backed by supporters. That last one sounded most likeable to me and I liked their green logo, so I went for Vue.

TicTacToe

Again I started by reading through documentation and doing some text projects. Then my first “bigger” test project, that is also still accessible was a TicTacToe game made with Vue3 + firebase. Want to play a game? Then I decided it was time to give my queue management system another go, this time with the goal of eventually deploying under a custom domain. I ended up purchasing the domain q-app.ch and for the result, please see for yourself!

q-app

I am planning to write a couple of blog posts in the near future where I will go into more detail about my past projects and of course I want to keep you posted about all my new projects.

Happy coding!