Langsung ke konten
MK
Karya / 01

Coinest

Pencatat keuangan pribadi yang sinkron di web dan Android.

Peran
Full stack — web, API, Android
Konteks
Produk pribadi
Tahun
2026
Stack
Laravel 11 · Inertia + React · FastAPI · Flutter · PostgreSQL · Tailwind CSS
coinest.app

Coinest

Laravel 11 Inertia + React FastAPI Flutter

Ringkasan

Kartu, transaksi, tabungan, anggaran, split bill, dan utang-piutang dalam satu sistem. Web Laravel dan aplikasi Android memakai database yang sama, jadi setiap perubahan langsung terlihat di semua perangkat.

Masalah

Catatan keuangan pribadi mudah tidak sinkron antara HP dan laptop, dan saldo bisa berubah tanpa jejak bila data diedit langsung di database. Sistem harus menjamin saldo tidak pernah minus dan setiap perubahan bisa diaudit.

Solusi

Tiga aplikasi berbagi satu PostgreSQL: web Laravel + Inertia React, API FastAPI, dan Android Flutter. Setiap transaksi dan saldo kartu ditandatangani HMAC-SHA256 dengan format kanonik yang identik di PHP dan Python, lalu diaudit terjadwal tiap malam. Uang keluar dicek dengan penguncian baris (SELECT … FOR UPDATE) sehingga saldo tidak pernah minus.

Fitur

01 Dashboard saldo, arus kas, dan breakdown pengeluaran
02 Transaksi masuk/keluar dan pindah dana antar kartu
03 Split bill serta utang-piutang dengan pelunasan sebagian
04 Tabungan, investasi, dan anggaran bulanan
05 Login Google (OAuth 2.0 + PKCE) dan notifikasi setiap login
06 Panel Superadmin: user, role & izin per menu, log keamanan, audit integritas
Arsitektur
Browser ──session──► coinest-app   (Laravel 11 + Inertia React) ──┐
                                                                  ├──► PostgreSQL
Android ──JWT──────► coinest-api   (FastAPI)  ─────────────────────┘

HMAC-SHA256 per transaksi & saldo kartu — kunci sama di Laravel dan FastAPI
Audit integritas terjadwal: php artisan coinest:integrity (03:00)

Project berikutnya

Smartend