Instruction file imported from giuseppePintus/Molino_briganti_task_manager (
.github/instructions/android.instructions.md). Copyright stays with the author.
Android Inventory App
Stack
- Kotlin + Jetpack Compose
- Hilt per la DI
- Retrofit per le chiamate HTTP
- ML Kit per lo scanner barcode
- Build system: Gradle KTS (
build.gradle.kts,settings.gradle.kts)
Identità
- Package:
com.molinobriganti.inventory - Server:
http://NAS71F89C:5000, base API/api/inventory/ - Auth: JWT, credenziali di servizio
mastercon password definita in configurazione locale - DB lato server: SQLite/MariaDB su
/share/Container/data/molino/
Funzionalità presenti
- Lista articoli + ricerca
- Scanner barcode (ML Kit)
- Wizard "carico merce": shelf → product → details → confirm
- Stock alerts
- Settings (endpoint server, credenziali)
Convenzioni
- UI completamente in Compose, niente XML layout per nuove schermate.
- ViewModel per ogni screen, stato esposto come
StateFlow. - Retrofit interface unica per dominio (es.
InventoryApi), DTO in packagedata.remote.dto. - Nessuna chiamata di rete dalla UI: solo via repository + ViewModel.
- Stringhe utente in
res/values/strings.xml(italiano) + opzionalevalues-en/. - Mai committare
local.propertieso keystore.
Build
./gradlew assembleDebugdaandroid-inventory-app/.- Se cambi dipendenze in
app/build.gradle.kts, esegui sync Gradle prima di considerare done.