Documentation Index
Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt
Use this file to discover all available pages before exploring further.
Entorno de Desarrollo
Esta guia cubre todo lo necesario para configurar el entorno de desarrollo local de la app movil de Vivla.Prerrequisitos
Antes de comenzar, asegurate de tener instaladas las siguientes herramientas:Node.js 20+
Runtime de JavaScript. Se recomienda usar
nvm para gestionar versiones.npm
Gestor de paquetes incluido con Node.js.
EAS CLI >= 16.16.0
CLI de Expo Application Services para builds y updates.
Git + Husky
Control de versiones con pre-commit hooks configurados.
Plataformas
- iOS
- Android
- Xcode 15+ con Command Line Tools instaladas - Simulador de iOS configurado - CocoaPods (se
instala automaticamente con
npx pod-install)
Instalacion paso a paso
Segui estos pasos para configurar el proyecto desde cero:Al ejecutar
npm install, Husky se instala automaticamente a traves del script prepare definido
en package.json. Esto configura los git hooks de pre-commit..env.development con los valores correspondientes a tu entorno local.
Variables de entorno
La siguiente tabla lista todas las variables de entorno requeridas. Obtene los valores de tu equipo o del gestor de secretos del proyecto.| Variable | Descripcion |
|---|---|
APP_ENV | Entorno de la aplicacion (development, develop, beta-prod, production) |
API_URL | URL del backend API |
CHAT_API_URL | URL del servicio de chat |
STREAM_API_KEY | API key de Stream Chat |
SENTRY_DSN | DSN de Sentry para reporte de errores |
SENTRY_ORG | Organizacion en Sentry |
SENTRY_PROJECT | Proyecto en Sentry |
SENTRY_AUTH_TOKEN | Token de autenticacion de Sentry |
POSTHOG_API_KEY | API key de PostHog para analytics |
POSTHOG_HOST | Host de PostHog |
EAS_PROJECT_ID | ID del proyecto en EAS |
EAS_UPDATE_URL | URL de actualizaciones EAS |
Path aliases
El proyecto tiene configurados path aliases para simplificar los imports. Estos estan definidos entsconfig.json y en la configuracion de Babel.
| Alias | Ruta real |
|---|---|
@shared | src/shared/ |
@core | src/core/ |
@modules | src/modules/ |
@assets | assets/ |
Herramientas de calidad de codigo
El proyecto utiliza varias herramientas para mantener la calidad del codigo:ESLint + Prettier
- ESLint para analisis estatico del codigo
- Prettier para formateo automatico
- lint-staged ejecuta ambos en pre-commit via Husky, aplicandose solo a los archivos modificados
TypeScript
- Configurado en strict mode para maxima seguridad de tipos
Testing
- Jest como framework de testing
- @testing-library/react-native para tests de componentes
Scripts disponibles
| Script | Descripcion |
|---|---|
npm run lint | Ejecuta ESLint en todo el proyecto |
npm run format | Formatea el codigo con Prettier |
npm test | Ejecuta la suite de tests con Jest |
npm run validate | Ejecuta lint y tests en secuencia (validacion completa) |
Se recomienda ejecutar
npm run validate antes de hacer push para asegurar que el codigo cumple
con todos los estandares del proyecto.Configuracion con Conductor
Si estas ejecutando el proyecto desde Conductor, el archivobin/conductor-setup copia automaticamente los archivos .env necesarios. No es necesario configurar las variables de entorno manualmente en ese caso.