Buah segar, harga jujur, stok real-time.
Belanja buah lokal, impor, musiman, dan tropis. Ada badge diskon otomatis untuk produk promo. Checkout aman (simulasi) dan transaksi tercatat ke Dashboard Admin. Kamu juga bisa daftar akun pembeli agar checkout lebih cepat.
Daftar Produk
β
Komentar Pelanggan
Semua user bisa menulis komentar dan akan tampil di halaman utama.
π Dashboard Admin (Penjual)
Kelola produk, promo, pembelian stok, transaksi, serta ekspor laporan.
Ringkasan
Berdasarkan transaksi pada periode terpilih.
Grafik Penjualan
Total omzet per hari (atau per bulan untuk range panjang).
Produk Terlaris
Berdasarkan unit terjual pada periode.
Konfirmasi Pembayaran
Transaksi yang masih menunggu konfirmasi pembayaran.
Transaksi Terbaru
Maks. 8 transaksi terakhir.
| ID | Tanggal | Pembeli | Item | Omzet | Profit |
|---|
Kelola Produk
Tambah/edit/hapus produk, set harga beli/jual, dan stok.
| Produk | Kategori | Harga Beli | Harga Jual | Stok | Promo | Aksi |
|---|
Pembelian dari Supplier/Agen
Catat pembelian stok, set harga beli & harga jual (opsional), stok akan bertambah otomatis.
Riwayat Pembelian
Digunakan untuk laporan pembelian & evaluasi harga beli.
| Tanggal | Supplier | Produk | Qty | Harga beli | Total | Aksi |
|---|
Kelola Promo
Tambah diskon per produk, set tanggal mulai/berakhir, aktif/nonaktif.
| Produk | Diskon | Mulai | Berakhir | Status | Aksi |
|---|
Riwayat Transaksi
Semua transaksi dari checkout marketplace.
| ID | Tanggal | Pembeli | Alamat | Item | Total | Profit | Pembayaran | Aksi |
|---|
Status Pesanan
Ubah status pesanan per transaksi: Diproses β Dikirim β Diterima.
| ID | Tanggal | Pembeli | Total | Pembayaran | Status Pesanan | Update | Aksi |
|---|
Kelola Akun Pembeli
Kelola akun pembeli yang tersimpan di perangkat ini (bisa disinkron via menu Connecting).
| Nama | No. HP | Alamat | Update | Aksi |
|---|
Kelola User Admin
Kelola akun yang bisa login ke Dashboard Admin (multi-user, simulasi).
| Username | Nama | Role | Status | Update | Aksi |
|---|
Connecting β’ Sinkronisasi Akun Pembeli (JSONBin)
Sinkron data pembeli antara perangkat client & server menggunakan JSONBin melalui proxy (disarankan).
Deploy Proxy di Cloudflare Pages (Functions) β Gratis
Karena kamu memilih Cloudflare Pages, kamu bisa menjalankan proxy JSONBin langsung di Pages menggunakan Functions. API key disimpan sebagai Environment Variable di Cloudflare (server-side), sehingga tidak pernah masuk browser.
- Push repo ini ke GitHub, lalu buat project di Cloudflare Pages dari repo tersebut.
- Di Cloudflare Pages β Settings β Environment variables, tambahkan: JSONBIN_MASTER_KEY = API key JSONBin kamu (untuk Production dan/atau Preview).
- Deploy. Setelah itu endpoint proxy akan tersedia di domain yang sama: /api/jsonbin/b, /api/jsonbin/b/:id, /api/jsonbin/b/:id/latest.
- Di UI web (menu Connecting): Mode = Proxy, Proxy Base URL dikosongkan (karena same-origin), isi Bin ID, lalu klik Pull/Push.
Alternatif Proxy (Node.js / Express)
Jika kamu ingin menjalankan proxy sendiri di VPS/Render/Railway, gunakan contoh ini. Endpoint yang dipanggil web: /api/jsonbin/*
// server.js
import express from 'express';
import fetch from 'node-fetch';
import cors from 'cors';
const app = express();
app.use(cors());
app.use(express.json());
// SIMPAN KEY DI ENV, JANGAN DI CLIENT
const JSONBIN_MASTER_KEY = process.env.JSONBIN_MASTER_KEY;
const JSONBIN_BASE = 'https://api.jsonbin.io/v3';
app.all('/api/jsonbin/*', async (req, res) => {
try {
if (!JSONBIN_MASTER_KEY) return res.status(500).send('Missing JSONBIN_MASTER_KEY');
const path = req.originalUrl.replace('/api/jsonbin', '');
const url = `${JSONBIN_BASE}${path}`;
const r = await fetch(url, {
method: req.method,
headers: {
'Content-Type': 'application/json',
'X-Master-Key': JSONBIN_MASTER_KEY
},
body: ['GET','HEAD'].includes(req.method) ? undefined : JSON.stringify(req.body)
});
const text = await r.text();
res.status(r.status).send(text);
} catch (e) {
res.status(500).send(String(e?.message || e));
}
});
app.listen(3000, () => console.log('Proxy running on http://localhost:3000'));
// Jalankan:
// export JSONBIN_MASTER_KEY='...'
// node server.js
Kelola Tips Marketplace
Tips ditampilkan di sidebar Marketplace. Admin bisa menambah, menghapus, dan mengubah urutan.
- Klik Tambah Tips untuk menambah baris.
- Gunakan tombol β/β untuk mengubah urutan.
- Klik Simpan agar tips tersimpan dan langsung tampil di Marketplace.
Kelola Logo Toko
Upload logo untuk tampil di header (Marketplace & Admin). Disimpan di perangkat ini (localStorage).
Ekspor Laporan ke Excel (CSV)
Tombol di bawah mengekspor CSV yang bisa dibuka di Excel/Google Sheets.
Preview Stok Saat Ini
| Produk | Kategori | Stok | Harga beli | Harga jual | Status promo |
|---|