consultoria-as 042acd6207 OPCIÓN C + A1: Consolidación técnica + orjson
C1: Materialized view part_vehicle_preview (creación en progreso)
- Migración v3.3_materialized_view.sql
- catalog_service.py y dashboard/server.py ahora usan la MV
- Script refresh_part_vehicle_preview.py + warm_vehicle_cache.py actualizado

C2: Fix cache warming script (autónomo)
- Auto-re-ejecuta con sudo -u postgres si peer auth falla
- Args CLI: --dsn, --batch-size, --ttl, --dry-run

C3: CSS dinámico residual extraído
- sidebar.js → sidebar.css (nuevo)
- pos-utils.js → common.css (nuevo)
- Links agregados a 14 templates POS

C4: Script de load testing básico
- scripts/load_test.py: métricas p50/p95/p99, throughput, errores

C5: Documentación actualizada
- FASES_IMPLEMENTADAS.md: test count real, FASE 7 completa
- performance_audit_2026.md: anexo post-FASE 7, métricas actualizadas

A1: Serialización orjson
- pos/json_provider.py: DefaultJSONProvider con orjson.dumps/loads
- Aplicado a POS app y Dashboard server
- Fix indentation error en pos_bp.py

Tests: 73/73 pasando
2026-04-27 09:36:03 +00:00
2026-04-17 23:06:50 -07:00

Nexus Autoparts

POS + Catalogo de autopartes para refaccionarias mexicanas.

Sistema integral que combina un catalogo publico de autopartes con un Punto de Venta multi-tenant, disenado para refaccionarias independientes. Incluye inventario, facturacion CFDI 4.0, contabilidad, y caja registradora.


Dos Sistemas

Sistema Puerto Descripcion
Web publica 5000 Landing page + catalogo publico con navegacion por vehiculo
POS multi-tenant 5001 Sistema de punto de venta completo, instalable como PWA

Web publica (puerto 5000)

  • Landing page para talleres y refaccionarias
  • Catalogo publico: Marca > Modelo > Ano > Motor > Categoria > Partes
  • Selector de regiones: Mexico/USA/Canada, Europa, Asia, Todos
  • Busqueda combinada vehiculo + parte
  • VIN decoder via NHTSA API
  • Diagramas explosionados con hotspots

POS multi-tenant (puerto 5001)

  • Multi-tenant: base de datos aislada por cliente
  • PWA: instalable en tablets/celulares, modo offline
  • 10 pantallas: Login, Catalogo, Inventario, POS, Clientes, Facturacion, Contabilidad, Dashboard, Reportes, Configuracion
  • 81+ endpoints API organizados en 9 blueprints
  • 2 temas: Industrial oscuro + Moderno claro (toggle en sidebar)
  • Auth por PIN con JWT + rate limiting + bloqueo por dispositivo
  • 5 roles: Dueno, Admin, Cajero, Almacenista, Contador

Modulos del POS

Modulo Funcionalidad
Catalogo Navegacion TecDoc por vehiculo, busqueda inteligente, stock local, alternativas, carrito
Inventario CRUD productos, compras, ajustes, transferencias, toma fisica, alertas, reportes (ABC, valoracion, sin movimiento)
Punto de Venta Ventas, cotizaciones, apartados, credito, atajos F1-F6, metodos de pago mixtos
Clientes Datos fiscales, 3 tiers de precio, credito con limites, vehiculos, historial
Facturacion CFDI 4.0 (Ingreso, Egreso, Pago), cola de timbrado, cancelacion SAT
Contabilidad Polizas automaticas, catalogo SAT, balanza, estado de resultados, balance general, antiguedad
Caja Registradora Apertura, movimientos, corte X, corte Z, multi-caja
Dashboard Ventas del dia vs meta, cajas activas, alertas
Reportes Financieros y operativos
Configuracion Negocio, sucursales, empleados, roles, temas

Tech Stack

Componente Tecnologia
Backend Python 3, Flask
Base de datos PostgreSQL (master + tenant DBs)
SQL psycopg2 raw SQL (sin ORM)
Auth JWT (PyJWT) + bcrypt PIN hashing
CFDI lxml (XML builder CFDI 4.0)
Frontend HTML/CSS/JS vanilla (sin framework)
Estilos CSS custom properties (design tokens)
PWA Service Worker + manifest
Data import TecDoc via Apify, NHTSA VIN API

Base de Datos

Metrica Cantidad
Partes OEM 1.5M+
Partes aftermarket 304K+
Cross-references 15.8M+
Marcas TecDoc importadas 6 (Toyota, Nissan, Renault, Ford, VW, Honda)
Rango de anos 1956-2026

Quick Start

Requisitos

  • Python 3.11+
  • PostgreSQL 15+
  • Linux (Debian/Ubuntu/Raspberry Pi OS)
cd /home/Autopartes/dashboard
pip install -r ../requirements.txt
python3 server.py
# Acceder: http://localhost:5000

POS

cd /home/Autopartes/pos
pip install -r requirements.txt

# Crear primer tenant
python3 -c "
from services.tenant_manager import provision_tenant
result = provision_tenant('Mi Refaccionaria', rfc='RFC000000AAA', owner_name='Admin', owner_pin='1234')
print(result)
"

# Iniciar
python3 app.py
# Acceder: http://localhost:5001/pos/login
# PIN: 1234

Importar datos TecDoc

# Descargar datos de TecDoc a JSON
python3 scripts/import_tecdoc.py download

# Importar JSON a PostgreSQL
python3 scripts/import_tecdoc.py import

# Ver progreso
python3 scripts/import_tecdoc.py status

Estructura del Proyecto

/home/Autopartes/
  dashboard/          # Web publica (puerto 5000)
    server.py         # Flask server principal
    shared.css        # CSS compartido
    nav.js            # Navegacion compartida
    *.html            # Paginas del dashboard
  pos/                # POS multi-tenant (puerto 5001)
    app.py            # Flask app factory
    config.py         # Configuracion
    tenant_db.py      # Conexiones por tenant
    middleware.py      # Auth + permisos
    blueprints/       # 9 blueprints (auth, config, inventory, y_ealog, pos, customers, cashregister, invoicing, accounting)
    services/         # Logica de negocio (pos_engine, inventory_engine, cfdi_builder, accounting_engine, etc.)
    templates/        # 10 HTML templates
    static/           # CSS, JS, assets
    migrations/       # SQL migrations
    seed/             # Datos semilla
  scripts/            # Import TecDoc, migraciones, utilidades
  vehicle_database/   # Schema SQL maestro
  docs/               # Documentacion
  data/               # Datos TecDoc descargados (JSON)

Deployment

El sistema puede correr en:

  • Servidor dedicado o VPS (recomendado para produccion)
  • Raspberry Pi 5 (8GB RAM + SSD NVMe, ideal para refaccionaria individual)

Ver docs/INSTALACION.md para instrucciones detalladas.


Documentacion

Documento Descripcion
docs/GUIA-DE-USO.md Guia de uso del POS (espanol)
docs/INSTALACION.md Guia de instalacion (espanol)
docs/API-POS.md Referencia completa de la API del POS
docs/API.md API del catalogo publico
docs/ARCHITECTURE.md Arquitectura del sistema
docs/DATABASE.md Esquema de base de datos

Nexus Autoparts -- Tu conexion directa con las partes que necesitas

Description
Sistema de gestión de base de datos de vehículos y autopartes con dashboard web
Readme 50 MiB
Languages
Python 49.2%
JavaScript 21.8%
CSS 13.7%
HTML 13.5%
Shell 1.1%
Other 0.7%