Skip to main content

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

  • 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:
git clone <url-del-repositorio>
cd managua
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.
Despues de copiar el archivo de entorno, completa las variables necesarias en .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.
Nunca incluyas valores reales de variables de entorno en el repositorio ni en documentacion publica.
VariableDescripcion
APP_ENVEntorno de la aplicacion (development, develop, beta-prod, production)
API_URLURL del backend API
CHAT_API_URLURL del servicio de chat
STREAM_API_KEYAPI key de Stream Chat
SENTRY_DSNDSN de Sentry para reporte de errores
SENTRY_ORGOrganizacion en Sentry
SENTRY_PROJECTProyecto en Sentry
SENTRY_AUTH_TOKENToken de autenticacion de Sentry
POSTHOG_API_KEYAPI key de PostHog para analytics
POSTHOG_HOSTHost de PostHog
EAS_PROJECT_IDID del proyecto en EAS
EAS_UPDATE_URLURL de actualizaciones EAS

Path aliases

El proyecto tiene configurados path aliases para simplificar los imports. Estos estan definidos en tsconfig.json y en la configuracion de Babel.
AliasRuta real
@sharedsrc/shared/
@coresrc/core/
@modulessrc/modules/
@assetsassets/
Ejemplo de uso:
import { Button } from '@shared/components/Button';
import { useAuth } from '@core/hooks/useAuth';
import { BookingScreen } from '@modules/bookings/screens/BookingScreen';

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

ScriptDescripcion
npm run lintEjecuta ESLint en todo el proyecto
npm run formatFormatea el codigo con Prettier
npm testEjecuta la suite de tests con Jest
npm run validateEjecuta 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 archivo bin/conductor-setup copia automaticamente los archivos .env necesarios. No es necesario configurar las variables de entorno manualmente en ese caso.
# Ejecutado automaticamente por Conductor
./bin/conductor-setup