Desarrollo
Guía de desarrollo para contribuir a TPV El Haido
Guía de Desarrollo
Bienvenido a la documentación técnica de TPV El Haido. Esta sección está dirigida a desarrolladores que quieran entender, modificar o contribuir al proyecto.
Requisitos Previos
| Herramienta | Versión | Instalación |
|---|---|---|
| Node.js | 18+ | nodejs.org |
| Bun | 1.0+ | curl -fsSL https://bun.sh/install | bash |
| Rust | 1.70+ | rustup.rs |
| Tauri CLI | 2.0+ | cargo install tauri-cli |
Quick Start
Clonar el repositorio
git clone https://github.com/MKS2508/tpv-el-haido2.git
cd tpv-el-haido2Instalar dependencias
bun installDesarrollo (solo frontend)
bun run devAbre http://localhost:1420 en tu navegador.
Desarrollo completo (Tauri + frontend)
bun run tauri devSe abrirá la aplicación de escritorio con hot-reload.
Secciones de Desarrollo
Arquitectura
Diagrama de capas y flujo de datos
Stack Tecnológico
Dependencias y versiones exactas
Patrones
Strategy Pattern, Result Pattern
Almacenamiento
Storage Adapters y modos
AEAT Técnico
Integración SOAP con AEAT
Comandos
Scripts de npm/bun
Manejo de Errores
Códigos y Result Pattern
Plataformas
Builds multiplataforma
Estructura del Proyecto
tpv-el-haido2/
├── src/ # Frontend React
│ ├── components/ # Componentes UI
│ │ ├── Sections/ # Páginas principales
│ │ └── ui/ # Componentes base (shadcn)
│ ├── hooks/ # Custom hooks
│ ├── lib/ # Utilidades y config
│ │ └── themes/ # Sistema de temas
│ ├── models/ # Interfaces TypeScript
│ ├── services/ # Lógica de negocio
│ │ └── platform/ # Abstracción de plataforma
│ ├── store/ # Estado Zustand
│ └── styles/ # CSS global
├── src-tauri/ # Backend Rust
│ ├── src/ # Código Rust
│ ├── sidecars/ # Binarios externos
│ └── icons/ # Iconos de la app
├── apps/ # Monorepo apps
│ └── haidodocs/ # Esta documentación
└── docs/ # Documentación legacyAlias de Importación
Usa @/ para importar desde src/:
import useStore from '@/store/store';
import type Product from '@/models/Product';
import { StorageErrorCode } from '@/lib/error-codes';Puertos de Desarrollo
| Servicio | Puerto | Descripción |
|---|---|---|
| Vite dev server | 1420 | Frontend React |
| haido-db | 3000 | API REST (desarrollo) |
| aeat-bridge | 3001 | Sidecar AEAT |
Flujo de Trabajo
Loading diagram...
Contribuir
- Fork el repositorio
- Crea una rama para tu feature:
git checkout -b feature/nueva-funcionalidad - Haz tus cambios siguiendo las guías de estilo
- Lint y typecheck:
bun run lint && bun run typecheck - Commit:
git commit -m 'feat: añadir nueva funcionalidad' - Push:
git push origin feature/nueva-funcionalidad - Abre un Pull Request
Convención de Commits
Usamos Conventional Commits:
| Prefijo | Uso |
|---|---|
feat: | Nueva funcionalidad |
fix: | Corrección de bug |
docs: | Documentación |
style: | Formateo, sin cambios de código |
refactor: | Refactoring |
test: | Tests |
chore: | Mantenimiento |
Siguiente Paso
- Arquitectura - Entender la estructura
- Stack Tecnológico - Ver dependencias
- Comandos - Scripts disponibles