In this story I’m gonna tell you my experience implementing offline database in my Flutter project.

To add SQLite into your app, you need to install sqflite library. It’s a third party library that has SQLite in it.

To install SQFlite, I type into the terminal:

flutter pub add sqflite

Writing that in the terminal is way faster than to search the latest version of sqflite in the website and add it to pubspec.yaml file. In your pubspec.yaml , a new line that contains sqflite should be automatically added inside dependencies: that looks something like this:

The first…

Sometimes, there are classes that can’t be tested normally. Maybe it’s because there’s not many public methods, there’s an instance that can only run in the production code, or some other reasons. In this short article I want to share with you my experience writing tests with a powerful testing tool called Mockito.

Currently I’m working on a flutter project, and I have this ActivityItemHelper class that I want to test.

ActivityItemHelper before

the DatabaseProvider is a service to create, configure, and get the database. …

Photo from Unsplash

In software development, clean code is very important. To write a clean, understandable, and maintainable is an important skill for any software developer. It is frustrating to continue someone else’s code but you cannot understand what it’s doing. In this article, I’ve list some of my tips to make your code a bit cleaner and easier to understand for everyone.

Meaningful Variable Names

You don’t need to write comments on the variable if you name your variable correctly. Don’t use letters like x, y, z for a variable (for loop variables are an exception).

// BAD NAMING int x = 1; // period…


In this article, I’m sharing with you my experience with Test-Driven Development on a new environment. But first, we must understand Test-Driven Development.

What Is Test-Driven Development?

Test-Driven Development (TDD) is a technique to create tests before the implementation code. Writing the test first reduces errors that can occur during development. Test cases make sure that the code remains functional even when other people try to modify your code.

Steps on how to code with TDD:

  1. Write a Failing Test [RED]: Create failing test. Understand the user story enough so that you know what to expect in your implementation. …

In this article, I will share with you some of Git’s commands that I often use and my experience applying Git Flow in one of my projects.

More Git Commands

Here are my most used git command other than the basics. To view all the commands, run: git --help or git <command> --help .

git branch

git branch is a command to create a new branch or manage created branch.

  • git branch <branch_name> to create a new branch with <branch_name> as the name.
  • git branch -d <branch_name> to delete a branch.
  • git branch -m <old_branch> <new_branch> to rename a branch

git checkout is a…


In the past few days, my team have been creating our mobile application for Badan Pengelola Keuangan Haji or BPKH in short. BPKH is an institution that manages Hajj Finance in Indonesia. BPKH needs a mobile application to track monitoring of projects they have. Our goal is to simplify project monitoring anywhere and anytime. We use Scrum to help us achieve our goal and create a working software that meet BPKH needs. But what is Scrum?

Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.


A framework doesn’t…

I have tried to install Arch before but it failed. Will it work this time?

I really can’t wait to install Arch Linux! Now it’s the perfect time because I’m in a holiday. Currently I use Lubuntu as my main OS to do college work. But I want to try Arch Linux So I followed the official installation guide for Arch Linux at to install a very basic Arch Linux Installation. I want to install Arch Linux on Acer Swift 3 laptop, with Intel i7–8550U.


After downloading the ISO with torrent, I check both md5 and sha1 hash to…

Hewwo, UwU, my nawme iws Oktow, I’m going tuwu teww my stowy own setting up high avaiwabiwity own my wocaw django sewvew.

Okay I will stop there.

The steps shown in this tutorial is for Ubuntu Linux, as It is my main Operating System. The steps for Windows or other Linux distros may be different, but the configuration file should work for you just fine.

Step 1: Install NginX

To install NginX, all you have to do is type:

sudo apt install nginx

I didn’t encounter any problems when installing NginX.

Step 2: Edit The Configuration File

You need to edit some configuration files to set up the load balancer…

Muhammad Oktoluqman Fakhrianto

Computer Science Student

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