Referencia

App mobile

Arquitectura y estructura de la aplicación móvil de ServiciosApp

App mobile

La aplicación móvil de ServiciosApp está disponible para Android e iOS y está construida con Expo + React Native.

Stack tecnológico

ComponenteTecnología
FrameworkExpo 54
UIReact Native 0.81
LenguajeTypeScript
EstilosNativeWind (Tailwind CSS)
NavegaciónExpo Router (React Navigation)
Estado globalZustand
ValidaciónZod
HTTPAxios
Mapasreact-native-maps
Gestosreact-native-gesture-handler
Animacionesreact-native-reanimated
AlmacenamientoAsyncStorage + SecureStore

Estructura de directorios

src/
├── app/              # Rutas y pantallas (Expo Router)
│   ├── (tabs)/       # Navegación con pestañas
│   │   ├── index.tsx
│   │   ├── explore.tsx
│   │   ├── services.tsx
│   │   ├── favorites.tsx
│   │   ├── company.tsx
│   │   └── user.tsx
│   ├── login.tsx
│   ├── register.tsx
│   └── ...
├── controllers/      # Coordinadores de UI por pantalla
├── components/       # Componentes reutilizables
├── services/         # Lógica de negocio y HTTP
├── schemas/          # Esquemas de dominio y API
├── mappers/          # Transformaciones DTO ↔ dominio
├── hooks/            # Lógica de datos reutilizable
├── stores/           # Estado global (Zustand)
├── helpers/          # Utilidades
└── config/           # Configuración global

Arquitectura en capas

Capa de presentación (Controllers + Components)

Los controllers coordinan la UI de cada pantalla y se comunican con hooks y servicios. Los componentes son reutilizables y no contienen lógica de negocio.

Capa de servicios

Los servicios se encargan de:

  • Realizar peticiones HTTP al backend
  • Validar las respuestas con Zod (wrapper { status, message, data })
  • Transformar los datos mediante mappers

Capa de mapeo

Los mappers transforman los DTOs de la API en modelos de dominio y viceversa, asegurando que cada capa trabaje con sus propios tipos.

Capa de dominio

Los esquemas de dominio (src/schemas/domain/) definen los tipos y validaciones que utiliza toda la aplicación.

Pantallas principales

PantallaRutaDescripción
Inicio(tabs)/indexPantalla principal con acceso rápido
Explorar(tabs)/exploreBúsqueda de servicios con filtros
Servicios(tabs)/servicesListado y detalle de servicios
Favoritos(tabs)/favoritesServicios guardados
Empresa(tabs)/companyGestión de perfil empresarial
Usuario(tabs)/userPerfil de usuario y configuración

← Volver a referencia · Siguiente: Glosario →

Copyright © 2026