3.6 KiB
3.6 KiB
Codex Handoff
Project
- Native Android app
- Package:
id.abelbirdnest.mobile - App name:
Abelbirdnest Stock - Stack: Kotlin + Jetpack Compose
- Blueprint source of truth: mobile-api-blueprint.md
API / Environment
- Production base URL is used from Postman env.
- Active API host used during testing:
https://abelbirdnest.id/api/v1
Test Accounts
OWNER->abel@zappcare.id/abel1234PURCHASING->tini@zappcare.id/tini1234SALES->budi@zappcare.id/budi1234QC->edi@zappcare.id/edi12345WAREHOUSE->jhon@zappcare.id/jhon1234
Implemented Modules
dashboardlotswashingstock_adjustmentspurchasespurchase_analysespurchase_realizationsfund_requestssales_regularsales_jitconsignmentslot_transformations
Hidden / Removed From Mobile Navigation
receipts- intentionally hidden because newer server/mobile flow no longer uses it for active role navigation
Important Behavior
- App is server-driven from
mobile/bootstrap, but module ordering and UI prioritization were aligned to the blueprint where needed. PURCHASINGlogin issue was fixed by not forcing/mobile/lotsfetch for roles that do not havelots.- Quick actions now only show modules that are not already present in the bottom bar.
- For
OWNER, quick actions were reduced to match actual mobile need. Extra actions likedana,sales,jit,titip jual, andwashingwere removed from quick actions.
Recent UI Changes
Login
- Brand text changed to
Abelbirdnest - Centered vertically
Lupa Kata Sandi?restored- Removed extra elements below the main login CTA except forgot password
Lots
- Lot detail top gap was reduced by:
- removing extra spacer
- disabling nested scaffold content insets in detail
- Lot detail footer actions were removed entirely:
Print UlangPindah LokasiUbah Status- reason: no real mobile action flow yet, avoid dead buttons
Scan Lot
- Scanner layout was reworked:
Tutupmoved outside the camera panel- scanner panel wrapped as its own card/section
- manual input visually separated from camera section
- scanner corner markers fixed so their directions are correct
Washing
Lotpicker uses search / scan workflowTempat Cucichanged to simple dropdown- card action button
Selesaikanforced to one line by reducing font and spacing
Known Gaps / Things Not Yet Wired
- Some modules are present as minimum mobile flows only, aligned to blueprint, not full web parity.
lot_transformationsstill needs full create flow audit if expanded beyond current scope.- Some modules are read-only where blueprint only required read paths.
pindah lokasiandubah statusfor lot detail are not implemented, and UI was intentionally removed.
Build / Deploy
- Android SDK path used locally:
/opt/android-sdk - Typical build command:
./gradlew assembleDebug
- Typical install command:
adb install -r app/build/outputs/apk/debug/app-debug.apk
- Last confirmed installed package timestamp during this session:
lastUpdateTime=2026-05-21 23:29:49
Current Device
- Frequently used connected device:
CPH2781(Oppo)
Notes For Next Codex
- Use
mobile-api-blueprint.mdas the primary spec. - Use web project only as a secondary reference for payload shape or flow hints, not as the source of truth.
- Be careful with nested
Scaffoldpadding/insets; several UI gaps came from double insets. - Many server responses differ slightly between endpoints; avoid assuming detail response shape matches scan/list response shape.