Skip to content

Instalación

Esta guía le lleva paso a paso por la configuración del entorno de desarrollo del sistema POS. El proyecto está organizado como un monorepo gestionado con pnpm workspaces, con un backend en Rust y aplicaciones frontend en TypeScript.

Prerrequisitos

Antes de comenzar, asegúrese de tener instaladas las siguientes herramientas:

  • Node.js versión 20 o posterior. Recomendamos usar fnm o nvm para gestionar versiones de Node.
  • Rust toolchain estable (1.75+). Instale mediante rustup.
  • Docker y Docker Compose para ejecutar los contenedores de PostgreSQL y Redis.
  • pnpm versión 9 o posterior. Instale globalmente con npm install -g pnpm.

Puede verificar su configuración ejecutando:

bash
node --version    # v20.x o posterior
rustc --version   # 1.75.0 o posterior
docker --version  # 24.x o posterior
pnpm --version    # 9.x o posterior

Clonar e Instalar

Clone el repositorio e instale todas las dependencias:

bash
git clone https://github.com/your-org/pos.git
cd pos
pnpm install

El comando pnpm install instalará las dependencias de todos los workspaces del monorepo, incluyendo las aplicaciones frontend (Terminal POS, Gerente de Tienda, Gerente HQ) y cualquier paquete compartido.

Servicios Docker

El sistema requiere PostgreSQL para almacenamiento de datos y Redis para caché y transmisión de eventos en tiempo real. Se proporciona un archivo docker-compose.yml en la raíz del repositorio:

bash
docker compose up -d

Esto inicia dos contenedores:

  • PostgreSQL en el puerto 5432 con credenciales por defecto pos:pos y una base de datos llamada pos_hq.
  • Redis en el puerto 6379 sin autenticación.

Puede verificar que los servicios están ejecutándose con docker compose ps. Ambos contenedores deben mostrar un estado de "running".

Configuración de la Base de Datos

Una vez que PostgreSQL esté en ejecución, aplique las migraciones:

bash
cd apps/hq-server
cargo run -- migrate

Esto crea todas las tablas, índices y datos semilla necesarios en la base de datos pos_hq. El comando de migración es idempotente, por lo que es seguro ejecutarlo múltiples veces.

Primera Compilación

Compile todas las aplicaciones frontend y el servidor backend:

bash
# Compilar el backend en Rust
cd apps/hq-server
cargo build

# Compilar todas las aplicaciones frontend
cd ../..
pnpm build

Si todo compila sin errores, su entorno de desarrollo está listo. Continúe con la Configuración Inicial para crear su cuenta de administrador y configurar el sistema.

Modo de Desarrollo

Para el desarrollo diario, normalmente ejecutará el backend y frontend en modo watch:

bash
# Terminal 1: Backend Rust con auto-recarga
cd apps/hq-server
cargo watch -x run

# Terminal 2: Servidores de desarrollo frontend
pnpm dev

El servidor de desarrollo frontend proporciona reemplazo de módulos en caliente (HMR), por lo que los cambios en componentes React aparecen instantáneamente en el navegador sin necesidad de recargar la página completa.