Sign in

React Native developer excited about performance and system designs. https://rakha.dev/
Photo by Omar Flores on Unsplash

Immediately Invoked Function Expression (IIFE)

If you came from JavaScript background you will most likely have encountered this pattern. Remember JQuery?

I remember back then I used think of this as a “wrapper” of my JQuery code and go on with my life without trying to find out what it’s actually doing. …


Profiling

One way to evaluate the code is to profile it. Luckily, Node.js already provides us with a profiler, behind the --prof flag. So let’s just run our app with the profiler.

node --prof build/server.js

You can see that a isolate-0x....-v8.log file is created in your working directory. …


As we strived to serve Scrum.ai as a Software-as-a-service, we need to be ready for everything, that includes scaling and security aspects.

One way to test if our app can handle a big volume of request is though stress testing. For this purpose, I came across a novel tool called…


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:

Nearly…


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 Scrum.ai, 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.

Node.js

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…


Source: https://www.youtube.com/watch?v=7et34Grs9sc

Who doesn’t know about agility? It has become such a common stats in games such as RPGs as the main stats for ranger, thief, and so on. Well, outside the context of games, the term agile is also used in the context of software development. Here at Scrum.ai, …


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…


Express has long been the de facto standard and mainstream pick when you start a project in Node.js. But recently (well, not that recent), the team behind Express has started a new, shiny library called Koa.js with a different phillosophy in mind.

Why isn’t Koa just Express 4.0? Koa is…

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