React Native developer excited about performance and system designs.
Prepare your umbrella before it rains. — an Indonesian proverb (source: Unsplash)

Here’s the thing. I’ve always thought of Test Driven Development as a burden, slowing the development time of critical features that needed to be shipped as soon as possible. Well, it seems I’m not the only one thinking this way, just look at the interesting numbers in this article:


Check out the earlier story:

Agile Manifesto

Let’s start from the Agile Manifesto. As we know, there are 4 points in the manifesto:

  1. Individuals and interactions over processes and tools. In, we try as much as we can to solve every problem together, solving blockers and move as fast and agile…

Checkout the previous story:

Projected software architecture for our project

As you can see, we follow microservices architecture to emphasise on scalability and prevent system wide failure.

Let’s walk through the architecture bit by bit.

Main Service

This is the main service that will contain most of the logic on an abstraction level. We host it in the…

Source: unsplash

Our Stack

A bit of background of our stack before we dive into the architecture.


Our back-end are powered by the latest Node.js engine. We choose this because the growth of Javascript nowadays are unbelievable, there are abundant libraries for everything you can think of (oh, and the product owner also wanted…

Phase 1: Choosing a DBMS

If you’re reading this article, you most likely have already known a few popular example of DBMS or Database Management System like MySQL, MS-SQL, PostgreSQL, or even the NoSQL one like MongoDB or Redis.

A database-management system (DBMS) is a computer-software application that interacts with end-users, other applications, and the…

Rakha Kanz Kautsar

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store