Teknis

Lihat sumber

ADR-0001: Convex untuk data operasional

Tanggal: 27 September 2026

Status: Accepted (mendokumentasikan implementasi saat ini)

Konteks

Reservasi dan laporan membutuhkan status yang cepat terlihat oleh pengguna/petugas, pemeriksaan bentrok saat persetujuan, serta penyimpanan foto. Roadmap awal masih menyebut Drizzle/PostgreSQL, tetapi implementasi yang berjalan sekarang memakai Convex.

Keputusan

Gunakan Convex untuk schema, index, query/mutation, audit event, dan file storage. Next.js menangani halaman, auth proxy, serta download CSV. Otorisasi dan aturan domain diulang di function Convex, bukan hanya di komponen UI.

Konsekuensi

Subscription memudahkan status real-time dan mutation menangani perubahan atomik. Sebaliknya, frontend harus terhubung ke deployment Convex yang tepat; rilis backend/frontend harus kompatibel, dan rollback kode tidak otomatis mengembalikan data. Demo statis lokal tidak membuktikan perilaku transaksi Convex.

Rujukan kode: convex/schema.ts, convex/reservations.ts, convex/reports.ts, src/app/api/admin/export/route.ts.

Semua dokumentasi