8.6 KiB
8.6 KiB
Codex Handoff - 2026-05-19
Dokumen ini menyimpan konteks kerja terbaru agar pengerjaan bisa langsung dilanjutkan tanpa menggali ulang repo.
Status Umum
- App aktif dikembangkan di
Next.js + Prisma + PostgreSQL. - Fitur operasional inti sudah cukup lengkap: pembelian, penerimaan, lot, aktivitas stok, penjualan, analisis pembelian, dan realisasi pembelian.
- Scope mobile API untuk fase operasional utama juga sudah disiapkan.
- Repo sudah dipush ke:
https://git.iptek.co/wirabasalamah/AbelBirdNest-Stock.git - Branch aktif:
main
Commit Penting Terakhir
14bb9bfInitial import of AbelBirdNest Stock9141f99Fix grade seed path for production deploy1274f2bHarden login and refresh production deploy guide8e8912eAllow negative purchase moisture percentages
Perubahan Besar yang Sudah Selesai
1. Purchase Analysis
- Snapshot analisis pembelian sudah dipersist agar saat edit nilainya kembali sama persis.
- Field seperti:
modal_barangmodal_belimodal_masukmodal_jualtotal_modal_belitotal_modal_malaverage_pricekadar akhirsudah tersimpan dan bisa dipakai ulang.
- Banyak rumus dashboard/analisis sudah disesuaikan:
kadar akhirlaba total / kglaba/rugi agen- basis berat gram vs kg
2. Purchase Realization
- Modul realization sudah didesain dan diimplementasikan bertahap.
- Prisma model baru sudah ada:
LotPurchaseAllocationPurchaseRealizationEntryPurchaseRealizationSummary
- Event yang sudah tersambung ke realization:
- purchase submit
- office buyout
- washing complete
- lot transformation / regrade / mix
- regular sale close
- consignment close
- Endpoint list/detail dan halaman UI
Purchase Realizationsudah ada. - Filter/search dan drill-down dasar ke dokumen asal juga sudah ditambahkan.
3. Mobile API
- Namespace
/api/v1/mobile/**sudah disiapkan untuk role:WAREHOUSEQCSALESPURCHASINGOWNER
- Endpoint mobile yang sudah ada mencakup:
- bootstrap
- dashboard
- lots
- receipts
- stock adjustments
- washing
- lot transformations
- regular sales
- JIT sales
- consignments
- purchases
- fund requests
- purchase analyses
- purchase realizations
- Dokumen pendukung:
4. Bilingual UI dan Terminologi
- Banyak area UI sudah dibersihkan dari campuran istilah Indonesia/Inggris.
- Sidebar, mobile nav, halaman transaksi utama, master data, dan modul analitis sudah jauh lebih konsisten.
- Banyak label dropdown dan placeholder sudah dibuat locale-aware.
- Istilah bisnis Indonesia sudah dirapikan, misalnya:
Agent→AgenCourier→Jasa PengirimanWarehouse→GudangWarehouse Location→Lokasi GudangContact Person→Kontak PIC
5. Dashboard
- Dashboard atas sudah diubah:
Nilai Inventorymenjadi basisNilai Pembelian Bulan IniReceipt Bulan InimenjadiPembelian Bulan Ini- grafik menjadi
Tren Pembelian vs Penjualan - kartu kanan menjadi
Tingkat Serap Penjualan
- Widget lot kritis diperjelas menjadi
Lot Perlu Perhatiandengan alasan:Stok RendahUsia TinggiDitahan
6. Users
- User sekarang sudah bisa diedit dari UI.
- Jika email diubah:
email_verified_atdi-reset- token verifikasi lama dibuang
- email verifikasi dikirim ulang
7. Regular Purchase Moisture Validation
- Validasi pembelian reguler sekarang mengizinkan:
kadar belikadar masukkadar akhirbernilai negatif sampai-100.
- Alasan bisnis: nilai minus dipakai untuk kasus penyusutan / penurunan berat pada alur pembelian dan analisis.
- Patch ini ada di commit:
8e8912eAllow negative purchase moisture percentages
- File yang berubah:
- Tidak perlu migration database untuk patch ini.
- Update server cukup:
git pull origin mainnpm run build- restart service
abelbirdnest-web
Hardening Production yang Sudah Dilakukan
- Bootstrap akun default sekarang dimatikan di production lewat:
AUTH_BOOTSTRAP=false
AUTH_SECRETdanAPP_URLdipaksa aman via helper runtime.- Health endpoint tersedia di:
/api/v1/health
- Security header dasar ditambahkan di
next.config.ts. - Workflow Prisma production-ready sudah disiapkan:
npm run prisma:migrate:deploy
- File deploy yang sudah ada:
Kondisi Deploy Server yang Perlu Diingat
- Domain target production:
abelbirdnest.id
- App dijalankan di:
127.0.0.1:3007
- Reverse proxy:
nginx
- Struktur repo aktual di server diasumsikan:
/var/www/abelbirdnest-web/AbelBirdNest-Stock
systemdservice file repo sudah diarahkan ke struktur subfolder ini.- Nginx sekarang disiapkan 2 tahap:
- HTTP-only dulu dengan
abelbirdnest.id.http.conf - setelah sertifikat ada, ganti ke
abelbirdnest.id.conf
- HTTP-only dulu dengan
Catatan Produksi Penting yang Masih Relevan
rolestidak dibuat otomatis jikaAUTH_BOOTSTRAP=false. Jadi sebelum membuat user pertama di production, tabelrolesharus diisi dulu secara manual.- User pertama production sebaiknya dibuat langsung di PostgreSQL sebagai
SYSTEM_ADMIN. - Seed:
banksdancurrenciesbisa langsunggradesbutuh fileGrade.xls
- Script
seed:gradessudah tidak lagi hardcoded ke path Mac lokal. Default path sekarang:scripts/data/Grade.xls
Perubahan Login dan Footer
- Halaman login sudah dibersihkan:
- tidak ada lagi autofill email/password default
- panel daftar akun dev dihapus
- Footer copyright sudah dipasang:
© 2026 AbelBirdnest
- Copyright sudah muncul di:
- halaman login
- seluruh halaman app utama via
AppShell
Dokumentasi User yang Sudah Dibuat
Sudah ada dokumen manual Word di folder docs/:
- manual-dashboard-abelbirdnest.docx
- manual-operasional-abelbirdnest-lengkap.docx
- manual-operasional-abelbirdnest-formal-screenshot.docx
Dan asset screenshot pendukung:
Catatan:
- file manual dan asset screenshot saat ini masih
untrackeddi git - belum dipush ke remote
Status Git Saat Handoff Ini Dibuat
Untracked:
docs/manual-assets/docs/manual-dashboard-abelbirdnest.docxdocs/manual-operasional-abelbirdnest-lengkap.docxdocs/manual-operasional-abelbirdnest-formal-screenshot.docx
Hal yang Masih Belum Ideal
- Belum ada rate limiting auth/API sensitif.
SMTP_PASSWORDmasih bisa tersimpan di DB settings.npm run lintbelum dijadikan gate CI non-interaktif yang rapi.- Belum ada test suite otomatis yang matang.
- Sebagian validasi/error backend mungkin masih belum sepenuhnya locale-aware walaupun UI utama sudah jauh lebih bersih.
Langkah Lanjutan Paling Masuk Akal
- Putuskan apakah dokumen manual Word + screenshot perlu masuk repo dan dipush.
- Jika iya,
git addfile manual dan asset screenshot lalu commit terpisah. - Tambahkan script/helper resmi untuk membuat
rolesdan user production pertama agar tidak lagi manual SQL. - Lanjut hardening production:
- rate limit
- cleanup SMTP secret strategy
- CI/lint/test
- Jika mobile app mulai dikerjakan, pakai:
docs/mobile-api-blueprint.md- Postman collection mobile
Catatan Penutup
- File handoff lama
docs/codex-handoff-2026-05-10.mdsudah tidak relevan lagi karena banyak perubahan besar setelah tanggal itu. - Handoff terbaru ini menjadi sumber konteks utama sampai ada update berikutnya.