///Technology
Technology
Karena sistem menghubungkan e-commerce, admin panel, dan inventory dalam satu aplikasi, pemilihan teknologi difokuskan pada konsistensi data dan kecepatan pengembangan.
Next.js dipilih karena e-commerce dan admin panel bisa berbagi komponen, logika, dan data dalam satu codebase. Server components menangani query produk dan transaksi, client components menangani interaksi kasir dan keranjang.
TypeScript digunakan karena sistem ini punya banyak entitas yang saling berhubungan — produk, stok, transaksi, customer, pengeluaran. Type safety memastikan ketika admin memasukkan produk, field yang masuk ke inventory dan e-commerce konsisten.
Prisma membantu mendefinisikan schema untuk produk, inventory, transaksi, dan laporan keuangan secara eksplisit. Relasi antara produk dan stok, transaksi dan customer, pengeluaran dan laporan — semua didefinisikan dengan jelas dan dapat diaudit.
PostgreSQL dipilih karena sistem ini butuh database relasional. Transaksi yang mengurangi stok, menambah history, dan memperbarui laporan keuangan harus atomik — PostgreSQL menangani ini dengan transaction support yang andal.
Next.jsTypeScriptTailwind CSSPrismaPostgreSQL