11 Juli 2026 · 8 menit baca
Kenapa payroll adalah domain logic paling berbahaya untuk di-hardcode — dan bagaimana Dexova menyusun periode terkunci, aturan lembur PP 35/2021, dan payroll run async.
HRIS · Payroll · Go · Arsitektur
11 Juli 2026 · 7 menit baca
Pola isolasi tenant yang saya pakai di Dexova dan Helixio: satu skema dengan tenant context yang disiplin, RBAC, dan jebakan-jebakan yang baru terasa saat ada background job.
SaaS · Multi-tenant · PostgreSQL · Go
8 Juli 2026 · 8 menit baca
Kasir bukan sekadar menjumlahkan harga. Ini cara Dexova POS menjaga uang tetap cocok: buka/tutup shift dengan kas awal, split payment, QRIS Midtrans, void & retur yang mengembalikan stok, sampai rekonsiliasi kas harian.
POS · Kasir · Rekonsiliasi · Midtrans
2 Juli 2026 · 7 menit baca
Absensi manual mudah dicurangi. Ini cara membangun absensi PWA dengan deteksi kantor terdekat, selfie wajib, model dua alamat untuk WFH, dan koreksi ber-approval — tanpa memenjarakan karyawan yang jujur.
HRIS · Absensi · Geofence · PWA
24 Juni 2026 · 8 menit baca
Ports & adapters bukan ritual akademis. Ini cara saya memakai hexagonal di modul-modul Dexova untuk membuat domain logic bisa diuji tanpa database, dan adapter bisa diganti tanpa menyentuh aturan bisnis.
Go · Arsitektur · Hexagonal · Clean Architecture
12 Juni 2026 · 7 menit baca
Filter tenant di aplikasi mudah lupa — dan sekali lupa, data bocor. RLS memindahkan isolasi ke database sebagai jaring pengaman terakhir. Ini cara memakainya dengan benar, plus uji kebocoran yang wajib ada.
PostgreSQL · Multi-tenant · RLS · Keamanan
28 Mei 2026 · 7 menit baca
Stok yang tidak akurat membuat seluruh laporan tidak dipercaya. Ini prinsip menjaga inventori tetap jujur: setiap perubahan stok adalah kejadian tercatat, retur mengembalikan barang, dan mutasi antar-gudang yang bisa ditelusuri.
Inventory · Stok · POS · Arsitektur
16 Mei 2026 · 7 menit baca
Pekerjaan yang menyentuh ribuan baris tidak boleh berjalan di satu request HTTP. Ini pola job async yang saya pakai di Dexova: idempotency, retry yang aman, progress monitoring, dan dead-letter untuk kegagalan permanen.
Go · Async · Queue · Arsitektur
2 Mei 2026 · 7 menit baca
Pembayaran online bersifat asynchronous — dan di situ letak jebakannya. Ini cara mengintegrasikan QRIS Midtrans dengan benar: webhook sebagai sumber kebenaran, verifikasi tanda tangan, idempotency, dan rekonsiliasi.
Midtrans · Pembayaran · Webhook · Keamanan