Bersihkan 18 file sampah AI + aturan gitignore file bantu AI (taruh di tmp/)
This commit is contained in:
38
PRD.md
38
PRD.md
@@ -2,6 +2,18 @@
|
||||
|
||||
## Changelog
|
||||
|
||||
### v1.3.0+6 — 2026-10-18
|
||||
- **Kasir list + toggle grid/list:** default list (foto 56px), toggle ke grid. Tap = tambah qty berkali-kali. Highlight hijau sesaat (0.9s). Tombol keranjang + badge jumlah item.
|
||||
- **Notifikasi in-app:** banner SnackBar + getar — hanya untuk admin, hanya untuk transaksi dari orang lain (bukan transaksi admin sendiri). Deteksi via polling (interval 1 menit) + stream `newSaleNotifications`. Load pertama dilewati agar tidak spam.
|
||||
- **Badge Riwayat:** `unseenSalesCount` di tab Riwayat (admin only), reset saat tab dibuka (`markSalesSeen()`).
|
||||
- **Fix tombol "Muat lebih banyak" Riwayat:** cek `filteredSales.length` bukan `state.sales` (sebelumnya negatif -17 saat filter aktif).
|
||||
- Fix Gitea ROOT_URL (infra): link download APK sebelumnya mengarah ke IP Tailscale lama → fixed ke `https://git.gosambi.uk/`.
|
||||
|
||||
### v1.2.0+5 — 2026-10-17
|
||||
- **Foto produk:** bucket Supabase Storage `product-images` (publik, limit 5MB, jpg/png/webp) + kolom `products.image_path`. `image_picker` ^1.2.0 (kompres 800px/quality80). Tombol Kamera/Galeri/Hapus di form Tambah+Edit (`produk_screen.dart`). Thumbnail di daftar produk (`_ProductRow`) + keranjang kasir (`_KasirAvatar`). AndroidManifest +queries intent kamera/galeri.
|
||||
- **Fix MIME:** `image/jpg` → `image/jpeg` (server 415).
|
||||
- **Fix storage policy:** bucket `storage.objects` tanpa policy → upload 403. Fix: 3 policy SQL (INSERT auth, SELECT public, DELETE auth) — fix di server, APK tidak perlu rebuild.
|
||||
|
||||
### v1.1.0 — 2026-07-24
|
||||
- Dialog pembayaran kasir: tombol "Selesai & Cetak" menampilkan loading state (spinner + "Memproses...") dengan guard anti-doble-klik.
|
||||
- Dialog struk pembayaran: tombol "Cetak Struk" memiliki loading state ("Mencetak...") dan disable saat proses cetak.
|
||||
@@ -493,3 +505,29 @@ Dutra Store adalah aplikasi kasir digital berbasis Flutter untuk toko grosir. Ap
|
||||
4. Jalankan SQL tambahan untuk kolom `store_id` (multi-tenant preparation): tambah tabel `stores`, tambah kolom `store_id` ke `products`, `sales`, `store_settings`, backfill data existing dengan default store ID, dan buat index. RLS dimatikan untuk semua tabel.
|
||||
- UI/UX skill tersimpan di `.kilo/agent/uiux-pos-grosir.md` dan bagian PRD 10.1-10.7.
|
||||
- Color scheme: brand amber dominant di Kasir & Produk, hijau untuk harga umum, merah untuk error/habis, abu untuk muted.
|
||||
|
||||
## Infra & Setup App
|
||||
|
||||
### Backend Supabase (Self-Host)
|
||||
- URL: `https://supa.gosambi.uk` (gateway envoy port 8001)
|
||||
- Keys: `D:\HomeLabs\backups\supabase-keys-local.txt` (ANON + SERVICE)
|
||||
- Backup data: script `D:\HomeLabs\scripts\supabase_backup.py` → `D:\HomeLabs\backups\supabase-nwuupvnodsgxdhqcakqr\`
|
||||
- Schema backup: `backups\...\schema_selfhost.sql`
|
||||
- Config app: `lib\config.dart` (gitignored — berisi URL + keys, jangan commit)
|
||||
- Migrasi cloud → self-host selesai 2026-10-17
|
||||
- Akun: admin@posgrosir.local, kasir1@toko.com, bibi/bubu/baba@toko.com (password sementara `GrosirBaru2026!`)
|
||||
|
||||
### Standar Rilis APK
|
||||
1. Naikkan versi di `pubspec.yaml` (misal `1.2.0+5` → `1.3.0+6`).
|
||||
2. Commit & `git push gitea main` (single remote Gitea; jangan commit APK ke repo).
|
||||
3. `flutter build apk --release` di `D:\HomeLabs\app-grosir` (jika gagal: `.gradlew --stop` + `flutter clean`).
|
||||
4. Verifikasi APK: file `build\app\outputs\flutter-apk\app-release.apk`; pastikan string `supa.gosambi.uk` ada di `libapp.so`.
|
||||
5. Instal ke HP: `adb -s fd683806 install -r app-release.apk`.
|
||||
6. Buat tag `v1.x.y` di Gitea + upload APK ke **Release** (`git.gosambi.uk/onie/app-grosir/releases`), jangan upload APK langsung ke repo Git.
|
||||
7. Catat versi baru di PRD.md ini + rule.md (singkat saja).
|
||||
|
||||
### Device Testing
|
||||
- HP utama: **Realme RMX2061** (Android 11, device ID `fd683806`, package `com.grosir.app_grosir`)
|
||||
- HP admin kedua: sudah ada (untuk testing notifikasi multi-device)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user