Representational state transfer (REST) is a software architectural style which uses a subset of HTTP, commonly used to create interactive applications that use Web services. A Web service that follows these guidelines is called RESTful. A RESTful Web service must provide its Web resources in a textual representation and allow them to be read and modified with a stateless protocol and a predefined set of operations.


A REST API is a standardized way to provide data (GET)to other applications. Those applications can then utilize data however they want. …

PPL 2021 is a course named ‘Software Engineering Project’, where students participates in a projects posted by various companies. These SE projects cannot be done by one man alone, you need a team.

But even just having a team is not enough. You need to build a genuine bond with your teammates. Several problems in life are much more comfortable to be dealt with your friends rather than with strangers right? The same principle also holds in Software Engineering, asking for help, giving help, cheering each other, and so forth.

Bonding on casual setting

To earn a relationship upgrade from teammate to friends, obviously…

User Engagement, what is it?

User engagement, sometimes called product engagement, is a catch-all term encompassing any interaction your users have within your product or your app. It can be as simple as a log in, or engagement can be tied to a specific activity or set of activities within your product.

Different products has their own definition of what constitutes as ‘engagement’. For example a gacha game measures the engagement of their game with how many time the player ‘rolls’ on a banner, while a cleaning service app measures the engagement of their app with how many time an user orders a service.


This article was written as an Part A Individual Review assignment of PPL CSUI 2021

Docker, what is that?

Docker is a tool to ease up creating, deploying, and running applications by using containers.

Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and deploy it as one package. By doing so, thanks to the container, the application will run on any other Linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and testing the code.

In that respect, Docker…

User Interface

UI this, UI that… What people meant by User Interface anyway?

According to the dictionary, User Interface is

“the means by which the user and a computer system interact, in particular the use of input devices and software”

Think of it like a bridge between the human and the system. Your complex and overwhelming codes has to be exposed to the users in a smooth and silky way, that’s where UI comes in.

To make those ‘smooth and silky exposure’ UI, you need to learn several things in designing it.

User Interface Design

User Interface Design strives on accommodating what users might need…

A slacker’s confession about TDD

image by Marco Franssen

What is TDD?

Test Driven Development refers to a software development process that translates the software requirement into test case first before the implementation.

The TDD Stages

The key steps of TDD is its three stages: Red, Green, and Refactor

  • Red : Creating tests based on your requirements, those test will fail

It’s better to be clean than to be comfortable.

image source :

What’s a Clean Code?



free from dirt, marks, or stains.

Clean Code refers to a practice of writing code in such a way that it can be considered ‘clean’.

Writing a Clean Code seems tedious at first, especially when you were in my position as a newbie programmer. But once you worked in a group project, you’ll start to appreciate it.

A ‘dirty’ code slows down the development, as there are more time wasted on trying to understand the code and if it’s so dirty it’s unreadable, you may want to ask the…

This article was written as an Part A Individual Review assignment of PPL CSUI 2021 vector created by katemangostar

Before we start…

We need to know what ‘Agile’ is.

Agile refers to methodologies revolving around the idea of iterative development, where requirements and solutions grow through collaboration between self-organizing cross-functional teams.


Scrum is an Agile framework for developing, delivering, and sustaining complex products. We use Scrum for PPL 2021. Designed for teams of ten or fewer members, who break their work into goals (in the context of PPL 2021, a PBI) that can be completed within time-boxed iterations, called sprints, no longer than one month and most…

So that you’ll always see it coming.

Persona? What is it? Why it is?

You might have heard the word ‘persona’ before, be it the famous video game franchise, a psychological term, or one of many arsenal that belongs to every developer there is. We will talk about the latter.

Personas are fictional characters which you create based on research about the users of your system/product/service. They are based on the behaviors and motivations of real people you have observed, which then you will congregate into a single archetype of a character. …

This article was written as an Part A Individual Review assignment of PPL CSUI 2021

What is a ‘gitflow’?

Gitflow is a process of managing changes in Git during development. The general idea behind it is to have several Branches that each serves a specific function.

This article is written in consideration of my personal experience with PPL 2021’s Gitflow, which sees changes to the contemporary Gitflow with its own personal twists and turns.

What are those branches?

Gitflow has two “Master” branches. Master and Develop (in PPL 2021, we call Develop ‘Staging’) . Develop serves as the master branch during development for integrating features, while the titular…

Muzaki Azami

A standard computer scientist.

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