Skip to content
itsflaidPublic

About

Olimpiade Agama, Sains dan Riset PTKIN III 2026, Yogyakarta

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

298 Commits

Folders and files

Repository files navigation

Katalyst

Aplikasi pendukung keputusan bisnis untuk UMKM: catat penjualan harian, lihat untung-rugi sebenarnya (bukan cuma omzet), dan uji skenario harga sebelum diterapkan disertai fitur copilot.

Semua angka (omzet, modal, untung, margin) dihitung langsung dari data transaksimu dengan rumus pasti dan konsisten — AI hanya membantu menjelaskan maksudnya, tidak ikut mengarang angka.

Fitur

  • Dashboard owner — KPI revenue, transaksi, profit, margin + tren harian 30 hari terakhir dan delta vs 30 hari sebelumnya, top 5 produk, transaksi terbaru, dan insight otomatis (misal produk laris tapi margin tipis).
  • Produk — CRUD, aktif/nonaktif, badge margin, ambang menipis per produk, restock/koreksi tercatat, tab riwayat stok (Owner), halaman detail per produk (terjual, revenue, profit, margin) + deep-link ke simulator.
  • Transaksi (kasir) — keranjang multi-produk, 1 struk tersimpan sebagai 1 transaksi + N item dengan snapshot harga. Riwayat dikelompokkan Hari > Struk > Item + subtotal. Struk yang salah catat dibatalkan utuh oleh owner lalu dibuatkan struk koreksi (tanpa edit diam-diam, biar teraudit).
  • Diskon — harga coret otomatis: per produk (berlaku sendiri) atau global (dipilih di kasir), dengan persen, kuota unit, dan jendela waktu; status mengikuti jadwal/kuota (Aktif/Terjadwal/Selesai); peringatan bila harga jatuh di bawah modal; draf dari Simulator bisa langsung disimpan.
  • Statistik — laporan per periode: tren revenue/profit (unit adaptif rb/jt), performa per produk (toggle Revenue/Profit/Margin), struk per hari, jam tersibuk & pola hari (WITA), penjualan per kasir, panel inventori (nilai stok, estimasi hari stok, stok mati), pergerakan stok mingguan, dan matriks Volume vs Margin.
  • Simulator "what-if" — lab satu produk: geser harga jual, diskon, modal, volume, langsung lihat dampak revenue/profit/margin, titik impas, dan diskon maksimum. Baseline bisa hari ini, minggu ini, bulan ini, atau custom.
  • Copilot — tanya jawab Owner berbasis data transaksi: ringkasan, ranking produk, perbandingan periode, penyebab perubahan profit, stok, dan simulasi harga. Angka ditahan bila tidak berasal dari hasil tool.
  • Zakat perdagangan — estimasi 2,5% dari aset bersih (stok + kas + piutang − utang) bila mencapai nisab emas dan genap 1 haul (±354 hari). Kas, piutang, utang, dan harga emas diisi manual; Simulator menampilkan dampak skenario ke zakat.
  • Pengaturan — identitas bisnis + kelola staff (tambah/hapus, role OWNER/STAFF). Riwayat struk staff yang sudah dihapus tetap menampilkan namanya.
  • Log Aktivitas — catatan aksi Owner & staff (login/logout, transaksi & void, produk, diskon, kelola staff) lengkap dengan perangkat, filter orang/jenis/tanggal, dan muat riwayat lebih lama.

Preview

Login Dashboard Produk Transaksi Simulator Copilot

Copilot sekarang berjalan dari halaman /copilot; preview akan diperbarui setelah gladi bersih dengan data demo saat ini.

Catatan: screenshot di atas diambil dari data demo sebelumnya (Resto Etam). Data demo saat ini: Cindera Etam (toko oleh-oleh khas Kaltim).

Zona waktu

Zona waktu diatur per bisnis di halaman Pengaturan (Owner), default WITA (Asia/Makassar). Pilihan: WIB (Asia/Jakarta), WITA (Asia/Makassar), WIT (Asia/Jayapura). Semua angka harian/jam mengikuti zona bisnis, bukan zona perangkat.

Cara jalan

Syarat: Node.js 22.x atau 24.x dan npm 11 ke atas (lihat engines di package.json).

  1. cp .env.example .env, isi DATABASE_URL (Neon, pooled endpoint) dan BETTER_AUTH_SECRET
  2. npm install
  3. npx drizzle-kit migrate
  4. npm run db:seed:demo (data demo: Cindera Etam, 10 produk khas Kaltim, 90 hari transaksi)
  5. npm run dev

Skrip uji

Skrip yang menulis data (verify:e2e-discount, db:seed:demo) hanya boleh jalan ke DB scratch: set DATABASE_URL, SCRATCH_DB_HOST (hostname-nya saja), dan ALLOW_DESTRUCTIVE_DB=1 di env sesi, lalu skrip berhenti sendiri bila target bukan scratch. Pakai connection string direct (tanpa -pooler) untuk skrip dan migrasi.

Tech stack

  • SvelteKit
  • Tailwind CSS
  • Drizzle ORM
  • Postgres (Neon)
  • better-auth
  • Chart.js
  • Cloudflare Pages (Deployment)

Portfolio GitHub

Built with ☕ by Flaid — Full-stack Developer & Indie Builder

About

Olimpiade Agama, Sains dan Riset PTKIN III 2026, Yogyakarta

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages