TorresAgro es una app Android nativa para gestion agricola en campo, pensada para pequenos y medianos productores que necesitan registrar parcelas, actividades, monitoreo, clima, inventario y tareas desde el telefono, con enfoque local-first y soporte parcial offline.
- Plataforma: Android
- Stack: Kotlin, Jetpack Compose, MVVM, Room, WorkManager, Navigation Compose
- Estado actual: compila en
debugyrelease - Version actual:
1.0.0 - Cultivos incluidos en catalogo base: yuca, camote, name, maiz, ayote, pepino, sandia, melon y platano
- UI/UX renovada con Material 3
- Navegacion inferior para modulos principales
- Dashboard con metricas rapidas, alertas, clima y recomendaciones
- Estados vacios, tarjetas de accion y formularios unificados
- Flujo optimizado para captura rapida desde campo
- Resumen de parcelas activas
- Resumen de alertas detectadas
- Resumen de tareas abiertas
- Clima por ubicacion actual o por parcela
- Recomendaciones agronomicas destacadas
- Accesos rapidos a mapa, nueva parcela y nueva actividad
- Pull to refresh para actualizar datos visibles
- Crear parcela
- Editar parcela
- Eliminar parcela
- Registrar:
- nombre
- ubicacion
- tamano
- cultivo
- variedad
- fecha de siembra
- coordenadas GPS
- poligono de parcela
- Calculo automatico de fecha esperada de cosecha
- Vista de detalle por parcela
- Vista previa del poligono en mapa
- Visualizacion de parcelas sobre mapa
- Coloreado de parcelas por vigor estimado
- Apertura de detalle desde el mapa
- Vista de leyenda NDVI
- Crear actividad
- Editar actividad
- Eliminar actividad
- Tipos soportados:
- siembra
- riego
- fertilizacion
- fumigacion
- deshierbe
- cosecha
- mano de obra
- Registro de:
- fecha
- costo
- cantidad
- observaciones
- foto desde camara
- foto desde galeria
- Visualizacion de historial de actividades por parcela
- Crear tarea
- Editar tarea
- Eliminar tarea
- Marcar tarea como completada
- Definir:
- parcela
- titulo
- fecha
- tipo de tarea
- prioridad
- recordatorio local
- estado
- Programacion de recordatorios con WorkManager
- Cancelacion automatica de recordatorios al completar o eliminar
- Crear monitoreo
- Editar monitoreo
- Eliminar monitoreo
- Registrar:
- parcela
- fecha
- etapa del cultivo
- estado general
- sintomas observados
- recomendacion
- foto de evidencia
- Generacion automatica de recomendacion base segun sintomas y estado
- Historial de observaciones por parcela
- Consulta de clima por coordenadas
- Consulta de clima por parcela
- Pronostico extendido visible en detalle de parcela
- Humedad de suelo desde Open-Meteo Agriculture
- Historico basico de precipitacion y temperatura
- Espacio preparado para prediccion de plagas
- Centro de alertas
- Alertas por severidad
- Recomendaciones mostradas como tarjetas accionables
- Enlace rapido desde alerta hacia contexto de parcela
- Registro y edicion de insumos
- Indicadores de stock
- Alerta visual de bajo inventario
- Vista resumida de unidades registradas y items activos
- Generacion de reporte PDF por parcela
- Resumen de cultivo, ubicacion y tamano
- Indicadores agronomicos disponibles
- Historico simple de los ultimos dias
- Compartir PDF desde Android
- Base de datos local con Room
- Datos semilla iniciales
- Cola local de sincronizacion
- Enfoque local-first
- Persistencia de entidades principales
- Soporte para reintento de sincronizacion en trabajos futuros
- Firebase Auth
- Firestore
- Firebase Storage preparado para fotos si se habilita en el proyecto
- Bootstrap preparado desde
local.properties
HomeParcelsParcel DetailAgri MapTasksInventoryIntelligenceAlertsSettings- Formularios de:
- parcela
- actividad
- tarea
- monitoreo
- Kotlin
- Jetpack Compose
- MVVM
- Room
- WorkManager
- Navigation Compose
- Repositorios para acceso a datos
- Servicios separados para clima, agronomia, reportes y sincronizacion
app/src/main/java/com/torresagro/app/MainActivity.ktapp/src/main/java/com/torresagro/app/ui/TorresAgroApp.ktapp/src/main/java/com/torresagro/app/ui/screen/Screens.ktapp/src/main/java/com/torresagro/app/ui/screen/FormsScreens.ktapp/src/main/java/com/torresagro/app/ui/viewmodel/AppViewModel.ktapp/src/main/java/com/torresagro/app/data/local/app/src/main/java/com/torresagro/app/data/repository/app/src/main/java/com/torresagro/app/data/weather/app/src/main/java/com/torresagro/app/data/agri/app/src/main/java/com/torresagro/app/data/report/app/src/main/java/com/torresagro/app/domain/model/
Tablas actuales:
parcelscrop_tasksactivity_recordscrop_observationsinventory_itemsharvest_recordssync_queueweather_cacheagri_data_cache
- Android Studio con soporte Kotlin/Compose
- JDK 17
- Android SDK 35
- Dispositivo o emulador Android
local.propertiescon SDK path y, si aplica, claves Firebase / clima
La app lee parametros sensibles desde local.properties.
Valores contemplados:
sdk.dirfirebase.apiKeyfirebase.appIdfirebase.projectIdfirebase.storageBucketfirebase.gcmSenderIdfirebase.webClientIdopenWeatherApiKeyvisualCrossingApiKeyrelease.keystoreFilerelease.keystorePasswordrelease.keyAliasrelease.keyPassword
.\gradlew.bat assembleDebugSalida esperada:
app/build/outputs/apk/debug/app-debug.apk
.\gradlew.bat assembleReleaseSalida esperada:
app/build/outputs/apk/release/
.\gradlew.bat bundleReleaseSalida esperada:
app/build/outputs/bundle/release/
- el proyecto ya cuenta con una configuracion de firma de produccion automatizada en Gradle
- se ha generado un keystore inicial (
release-keystore.jks) y se han configurado los secretos enlocal.properties - la generacion de
bundleReleaseproduce ahora un artifact firmado y listo para subir a Play Console
- configurar keystore de release
- cablear
signingConfigenapp/build.gradle.kts - validar
applicationId, nombre final y branding - generar AAB firmado
- configurar ofuscación y reducción de código (R8/ProGuard)
- correr QA de campo en varios dispositivos
- publicar politica de privacidad
- preparar ficha de Play Console
- subir capturas, icono final y textos de tienda
- desplegar reglas Firebase incluidas en el repo
- configurar SHA de Play App Signing en Firebase
docs/arquitectura-mvp.mddocs/firebase-setup.mddocs/production-readiness.mddocs/privacy-policy.mddocs/play-console-checklist.md
TorresAgro ya funciona como base operativa local para captura de informacion en campo y seguimiento de parcelas, con una capa visual mucho mas madura y flujos de formulario mas consistentes.
El siguiente salto natural ya no es de estructura interna, sino de operacion real:
- firma release
- QA de campo
- endurecimiento legal y de privacidad
- publicacion de version firmada