Blog Migration I

Jekyll is a popular static site generator hosted on GitHub pages, making it a convenient option for bloggers without needing a backend server. However, I decided to migrate my blog to a full-stacked website to learn and practice my web development skills. Building a full-stacked blog website will be a great opportunity to do so.

Stack?

When it comes to choosing the stack, there are several conventional options, such as MEAN, MERN, MEVN, or LAMP. However, I decide to use an unconventional way. Go for the backend, MongoDB for the database, and Vue.js for the front end. I guess I'll call it GMV stack??

Why Go?

Go is known for its fast and efficient runtime performance and development, making it an excellent choice for building high-performance web applications quickly. Additionally, it has a solid standard library for handling HTTP requests and does not rely on another web framework. Last but not least, despite its popularity and strong community, I personally do not enjoy writing code in Javascript/typescript. They are such a pain to code...🤦‍♂️

Why MongoDB?

MongoDB is a NoSQL database program that uses JSON-like documents. It employs a document model with a flexible schema compared to the rigid table of SQL with a fixed schema. MongoDB has a native Go driver, making it easy to work with and perfect for building modern web applications.

Why Vue.JS?

I don't have any preference for a frontend framework, nor have I used Vue before. But, Vue is generally known for being suitable for smaller, less complex apps and is easier to learn from scratch compared to React or Angular. So I decided to give Vue a try.

I decided to use Svelte instead. You can find more about it here.

Server?

Me being a poor college student, I am using free servers only. Free servers offered by cloud companies are:

Oracle provided the most resources with VM.Standard.A1.Flex, up to 4 CPUs and 24GB memory. But, due to a shortage of servers, I couldn't acquire one. So, I had to choose GCP's e2-micro with 0.25~2 shared CPUs and 1GB memory. I am not expecting any traffic to my blog besides myself. So, I am hoping for 1GB of memory to work with my app. I will definitely migrate to Oracle later when it gets available.

For the database, I am using Mongo DB's Free-Forever Cluster with 512MB, which is small but enough for my blog (the current size of my blog is 561kb, including scripts and html&css).

Lastly, the front end will be hosted on GitHub pages which is free.

Conclusion

Migrating from Jekyll to a full-stacked blog website will be an excellent opportunity to learn and practice my web development skills. I hope the GMV stack and my server choices work with my blog app. I will keep posting updates on my progress.