docs: actualizar README con estado real de implementación

Elimina la sección "Pendiente" del scaffold inicial (ya todo implementado)
y la sustituye por tabla de estado con referencia a cada archivo, más la
lista real de próximos pasos (Maps key, test en dispositivo, background sync).
También añade .idea/ al .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-01 10:05:05 +02:00
co-authored by Claude Sonnet 4.6
parent fa3671897f
commit e16f4585c2
2 changed files with 26 additions and 7 deletions
+3
View File
@@ -39,3 +39,6 @@ yarn-error.*
# generated native folders
/ios
/android
# IDE
.idea/
+23 -7
View File
@@ -98,11 +98,27 @@ src/
El servidor SIEMPRE fija `user_id`/`reported_by`/`project_id` y valida permisos: el cliente
nunca los envía.
## Pendiente (siguientes tandas)
## Estado de implementación
- Sincronización en segundo plano / al recuperar conexión (hoy es manual con el botón).
- Reconciliación de **creaciones** offline (mapear filas locales temporales al `server_id`).
- Captura de fotos (expo-image-picker) e integración con `enqueueMedia`.
- Pantallas ricas: mapa/GeoJSON de features, formulario de inspección desde plantilla,
detalle de incidencia con checklist + comentarios + fotos.
- Resolución de conflictos en UI.
Todas las funcionalidades están implementadas y el typecheck pasa limpio (`npm run typecheck`).
| Área | Estado |
|------|--------|
| Auto-sync (red/primer plano/intervalo 60s) | ✓ `src/sync/useAutoSync.ts` |
| Reconciliación de creaciones offline (temp-id → server_id, remap FKs) | ✓ `src/sync/engine.ts` |
| Captura de fotos (cámara/galería) + cola offline | ✓ `src/ui/MediaStrip.tsx` |
| Mapa GeoJSON de features (react-native-maps) | ✓ `src/ui/FeatureMap.tsx` + `src/ui/geojson.ts` |
| Formulario de inspección dinámico desde plantilla | ✓ `src/screens/InspectionFormScreen.tsx` |
| Detalle de incidencia (checklist + comentarios + fotos) | ✓ `src/screens/detail/IssueDetailContent.tsx` |
| Resolución de conflictos en UI (Outbox) | ✓ `src/screens/OutboxScreen.tsx` |
| Maestro-detalle adaptativo (tablet 2 paneles / móvil navegación) | ✓ `src/ui/MasterDetail.tsx` |
## Pendiente (próximas tandas)
- **Google Maps API key**: el mapa dibuja la geometría offline, pero los tiles base requieren
una key. Configurar con `GOOGLE_MAPS_API_KEY` (ver sección Mapa arriba).
- **Test en dispositivo real**: ejecutar `npx expo run:android` o distribuir el APK
con `eas build -p android --profile preview` (ver sección Arranque).
- **Sincronización en segundo plano con app cerrada** (requiere `expo-task-manager` +
`expo-background-fetch`): actualmente solo sincroniza con la app en primer plano.
- **Push notifications** para alertas de nuevas incidencias o comentarios.