engineering docs

Database boundaries

Empat schema Prisma memakai MongoDB dan client terpisah. Setiap domain hanya menulis database miliknya.

ClientEnvironmentOwnership
runnerDATABASE_RUNNER_URLidentity, tenancy, access
catalogDATABASE_CATALOG_URLproduct, service, pricing
commerceDATABASE_COMMERCE_URLtransaction lifecycle
inventoryDATABASE_INVENTORY_URLstock ledger and warehouse

Referential integrity

Cross-database ID seperti organizationId, productId, dan memberId adalah scalar. Service harus melakukan lookup ke owner database sebelum write dan menolak reference yang tidak valid.

Tidak ada transaksi ACID lintas client. Untuk workflow multi-database, gunakan idempotency key, ordered writes, retry yang aman, dan compensation. Jangan menampilkan generated Prisma client pada client bundle.