EnrutApp Mobile es la aplicación móvil oficial para conductores y usuarios del sistema EnrutApp. Construida con React Native y Expo, ofrece una experiencia nativa fluida para la gestión de transporte.
- 🗺️ Seguimiento en Tiempo Real: Visualización de rutas y ubicación de conductores.
- 🚦 Gestión de Estados: Conductores pueden cambiar su estado (Disponible, En Ruta, etc.).
- 📅 Turnos y Horarios: Visualización y gestión de turnos asignados.
- 📦 Encomiendas: Gestión de entregas y recolecciones.
- 🔔 Notificaciones: Alertas en tiempo real sobre cambios en rutas o servicios.
- Node.js >= 18.x
- npm o yarn
- Expo Go en tu dispositivo móvil (Android/iOS) o Emulador
# Clonar el repositorio
git clone https://github.com/EnrutApp/enrutapp-mobile.git
cd enrutapp-mobile
# Instalar dependencias
npm installCrea un archivo .env en la raíz del proyecto basado en .env.example:
EXPO_PUBLIC_API_URL=http://localhost:3000/api
EXPO_PUBLIC_SOCKET_URL=http://localhost:3000# Iniciar servidor de desarrollo
npm start
# Ejecutar en Android (Emulador o Dispositivo USB)
npm run android
# Ejecutar en iOS (Simulador o Dispositivo USB - Solo Mac)
npm run ios
# Ejecutar en Web
npm run webEl proyecto utiliza Expo Router para la navegación basada en archivos.
app/
├── (tabs)/ # Navegación principal por pestañas
├── _layout.tsx # Layout raíz de la aplicación
├── index.tsx # Pantalla inicial
├── login.tsx # Pantalla de inicio de sesión
├── forgot.tsx # Recuperación de contraseña
├── driver-map.tsx # Mapa del conductor
│
components/ # Componentes reutilizables
├── ui/ # Componentes de UI básicos
├── tracking/ # Componentes de mapa y seguimiento
│
constants/ # Constantes (Colores, Estilos, Config)
context/ # Contextos de React (Auth, Socket)
hooks/ # Custom Hooks
services/ # Servicios de API y lógica de negocio
assets/ # Imágenes, fuentes e íconos
- Framework: React Native con Expo SDK 50
- Navegación: Expo Router v3
- Lenguaje: TypeScript
- Mapas: React Native Maps
- Estilos: StyleSheet estándar y constantes de diseño
- Iconos: Expo Vector Icons
- HTTP Client: Fetch API / Axios
- Socket: Socket.io-client
Consulta CONTRIBUTING.md para detalles sobre el flujo de trabajo y estándares de código de mobile.
# Verificación de tipos y linting
npm run lint
# Resetear caché de Expo (si hay problemas de build)
npm start -- --clearEste proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
- EnrutApp Team - Desarrollo Móvil
Hecho con ❤️ por el equipo de EnrutApp