Aplicación móvil
Expo SDK 57 · expo-router con rutas tipadas · NativeWind 4 · TanStack Query ·
graphql-request con codegen · react-native-gifted-charts.
75 archivos, 16 563 líneas. expo-doctor pasa 21 de 21.
Para quién es
No es la web encogida. Es para el asesor y el técnico en campo: una mano, un pulgar, a pleno sol. Las acciones primarias van al alcance del pulgar, no arriba del todo.
Rutas
17, en cinco pestañas: Inicio, Tickets, Chat, Agenda y Clientes, más ajustes y notificaciones.
Lo que sólo existe aquí
- Cámara y galería para adjuntar evidencia de un reclamo (RF-03).
- Geolocalización al cerrar una visita técnica (RF-06), en una sola llamada.
- Notificaciones push con navegación al destino.
- Caché persistida en AsyncStorage: la app abre con datos aunque no haya red, y avisa de que está sin conexión.
Seguridad
JWT en expo-secure-store, nunca en AsyncStorage. Refresco de un solo vuelo
con cola compartida.
Tres trampas que aparecieron aquí
Animated.Viewde Reanimated ignoraclassName: NativeWind no instrumenta componentes de terceros. Los esqueletos eran invisibles y el Toast se renderizaba en el flujo en vez de flotando.useAnimatedStylesólo rastrea valores compartidos en el nivel superior de su clausura. Uno anidado en un objeto hace que el estilo se calcule una vez y nunca más — sin error, sin aviso, sólo una cabecera congelada.- El
Modalde React Native monta en un portal fuera del proveedor de tema: en web, toda hoja inferior resolvía sus colores contra:root. Una hoja oscura sobre una app clara.