Entity Relationship Diagram

There are 3 entities defined: User, Transaction, and Category. A user can create many transactions, but each transaction must have one category.

Entity Relationship Diagram of Tabunganku Entity Relationship Diagram of Tabunganku.

User contains username and email properties, which are self-explanatory.

ColumnType
usernameText
emailText

For Transaction, it contains category, which will be filled by category ID of the transaction. date property is used to store when the transaction happens, and note is additional information regarding the transaction.

ColumnType
amountInt
categoryText
noteText
dateDate

Entity Category has several unique properties. active property determines if the category is active or not. icon is used to locate the category icon location. type is the type of category. There are 2 types: Earning or Expense.

ColumnType
activeBool
iconText
typeText
nameText

Architectural Diagram

Architecture Diagram of Tabunganku Architecture Diagram of Tabunganku.

In Tabunganku, a user will connect to a public API, which will be handled by a service connecting to a Postgres instance. I use Postgres as the datastore because I am familiar with the technology, and I want to use the foreign key property that does not exist in NoSQL like MongoDB.