ixiclinicDocs
DesarrolladoresApps del monorepo

Mobile

App móvil de ixiclinic — React Native 0.79 + Expo 54 con expo-router. Estructura inicial con pantallas de catálogo, resultados y sucursales.

La app móvil (apps/mobile) es la aplicación para iOS y Android del laboratorio. Está construida con Expo y expo-router, y apunta al mismo API que el resto del sistema.

StackReact Native 0.79, Expo 54, expo-router 5, React 19
Bundle / appcom.ixiclinic.app · nombre "ixiclinic Lab" (apps/mobile/app.json)
Paquete@ixiclinic/mobile

Nota: Es una base inicial (scaffold). Las pantallas existen con su navegación, pero el consumo del API aún está pendiente: el catálogo y los resultados muestran textos placeholder ("Conectar con API del laboratorio", "Ingrese su cédula y número de orden").

Routing por archivos (app/)

A diferencia del resto de las apps, mobile usa el directorio app/ (no src/), que es la convención de expo-router (routing basado en archivos). El entrypoint es expo-router/entry (main en package.json).

Pantallas reales en apps/mobile/app/:

ArchivoPantalla
_layout.tsxLayout raíz: un Stack de expo-router con los headers ocultos.
index.tsxHome ("ixiclinic Lab"): tarjetas que navegan a Catálogo, Resultados y Sucursales.
catalog.tsxCatálogo de pruebas (placeholder, pendiente conectar al API).
results.tsxMis resultados (placeholder, pendiente conectar al API).
branches.tsxSucursales / ubicaciones.

La navegación entre pantallas se hace con router.push("/...") de expo-router.

Configuración (app.json)

  • scheme: "ixiclinic" (deep links).
  • iOS bundleIdentifier: com.ixiclinic.app, supportsTablet: true.
  • Android package: com.ixiclinic.app, adaptiveIcon.backgroundColor: #14b8a6.
  • Plugins: expo-router.

Importa tipos compartidos vía @ixiclinic/types.

Comandos

Desde apps/mobile:

pnpm start      # expo start
pnpm android    # expo start --android
pnpm ios        # expo start --ios
pnpm typecheck  # tsc --noEmit

Nota: La app está pensada para hablar con el mismo API que el admin/portal (api.ixiclinic.com en producción). Cuando se enganchen las pantallas al backend, lo natural es usar los endpoints públicos del portal (/api/portal/{slug}/...), igual que el lab-site.

On this page