Fase 0: config Android (package, permisos, orientación), eas.json (APK), deps nativas (react-native-maps, image-picker, location), app.config.js para la key de Google Maps por secreto EAS. Fase 1: capa responsive (useLayout) + componente MasterDetail (dos paneles en tablet, navegación en móvil). Fase 2: pantallas funcionales — detalle de proyecto con secciones Fases/Features/ Incidencias, edición de progreso/estado, formulario de inspección dinámico desde plantilla, incidencias maestro-detalle (checklist + comentarios), alta de incidencia; gating por permisos Spatie. Fase 3: fotos (cámara/galería) → cola de media, con miniaturas pendientes/sync. Fase 4: mapa de features (Google Maps) con geometría GeoJSON y selección. Fase 5: auto-sync (foreground/reconexión/intervalo, con candado) + reconciliación de creaciones offline (id temporal negativo → server_id, remapeo de FKs hijas). Fase 6: revisión de conflictos/errores del outbox, indicadores y APK preview. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
996 B
JSON
37 lines
996 B
JSON
{
|
|
"name": "avante-movil",
|
|
"version": "1.0.0",
|
|
"main": "index.ts",
|
|
"dependencies": {
|
|
"@react-native-community/netinfo": "12.0.1",
|
|
"@react-navigation/native": "^7.3.3",
|
|
"@react-navigation/native-stack": "^7.17.5",
|
|
"expo": "~56.0.12",
|
|
"expo-build-properties": "~56.0.19",
|
|
"expo-crypto": "~56.0.4",
|
|
"expo-file-system": "~56.0.8",
|
|
"expo-image-picker": "~56.0.18",
|
|
"expo-location": "~56.0.18",
|
|
"expo-secure-store": "~56.0.4",
|
|
"expo-sqlite": "~56.0.5",
|
|
"expo-status-bar": "~56.0.4",
|
|
"react": "19.2.3",
|
|
"react-native": "0.85.3",
|
|
"react-native-maps": "1.27.2",
|
|
"react-native-safe-area-context": "~5.7.0",
|
|
"react-native-screens": "4.25.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "~19.2.2",
|
|
"typescript": "~6.0.3"
|
|
},
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"android": "expo start --android",
|
|
"ios": "expo start --ios",
|
|
"web": "expo start --web",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"private": true
|
|
}
|