You can find the first part of this tutorial here. In the first part of the tutorial, we have built a functioning frontend and backend app that allows users to authenticate via Google login.
We are not done yet! Even though our app can authenticate a new user correctly, our still Nuxt app cannot refresh its JWT token. When the token is expired, and the token refresh is failed, the user will be logged out unexpectedly. This would be a bad experience for your user.
Let’s simulate a token expiry by setting the token lifetime duration to 1 second in…
Over the past few weeks, I’ve been working on a side project. One of the requirements is to enable the user to sign in to the application using Google social login. The web app is built using Nuxt for the frontend and Django REST Framework for the backend.
Initially, building the social sign in flow was not hard at first, but I struggled with refreshing the JWT token in the web app. Most of the resources on the internet do not discuss how to refresh the JWT token. …
This story is originally published here.
On 26th May 2021, the Malaysian government opens up vaccination slots to everyone in Kuala Lumpur and major cities in Malaysia. The registration form opens at 12 pm local time. Due to that, thousands (or perhaps millions) of Malaysians are getting ready in front of their computer to fight for the vaccination slot. Only ~1M slots are available to grab among 30M unvaccinated Malaysians.
At the end of the session, everyone was frustrated with…
This story is originally published here.
Over the past few months, I’ve been building many side projects in my free time for learning apart from working full-time as a software engineer for the past 3 years. When building the side projects, I intentionally use many different technology stacks that I’m not familiar with in order to learn and make more informed choices in the future.
Over that period, I’ve developed my preferences towards the tech stacks of choice and approaches on how I’m gonna build my next project.
This article is originally published here.
Twenty-five years old is quite a young age for software engineers. Mostly, 25 years old engineers are Computer Science graduate students who just graduated from university or have 1 to 2 years of experience. So am I. We are still in the early stage of our career.
I have plenty of time to pursue what I like. I have plenty of time to make mistakes and learn from them. More importantly, I have plenty of time to identify what I want and what I don’t in life. Apart from that, a young engineer like…
I am amazed by how easy to build a web app using Django
This post is originally posted here.
For the past three months, I’ve been writing a web application using Django for our company’s new project. It hasn’t launched yet, so I couldn’t disclose too much information about it. However, I’ve learned a ton while working on this project while working on it along with the team.
The picture above shows you what I’ve built after learning Vue.js and Nuxt.js in one week.
I am building an Instagram clone project called “Yet Another Free (OSS) Instagram Clone” (YAFIG). The front-end site is built entirely in Vue.js and Nuxt.js, in a week.
I am a full-time software engineer working on CDN products. I spent my entire professional career (~three years) working with back-end services, primarily in Python, Java, and Lua.
However, one of…
This article was originally published on my personal blog here.
Message queues (MQ) are a fundamental concept in programming and software development. In a distributed system, a message queue is the backbone of the system. A message queue allows inter-process communication between services/applications in your system (eg. Service A can talk to Service B).
In MQ terminology, the service that emits the message is called the producer worker, while the service that listens and reacts to messages is called the consumer worker. This is how communication happens between the services.
You can scale up or down the number of producer…
This blog is originally published on my personal blog.
I’ve wanted to learn Golang for a long time. According to a Stack Overflow survey, Golang was the third-most wanted programming language in the year 2019. Coming from a Python background, learning a new programming language like Golang gives me a unique perspective on how to write code.
I was inspired by a helpful tutorial by Keiran Scot. The following tutorial is heavily influenced by Keiran’s tutorial but is made to use MySQL instead of Mongo as part of my exercise to learn Golang.
Prsonally, I believe Golang is the…