Reglas del Proyecto — Hazard (Odoo 16)
Información General
- Empresa: Hazard (marca de ropa urbana / streetwear)
- Plataforma ERP: Odoo 16 Community con módulos Enterprise
- Ecommerce: Shopify (sincronizado con Odoo vía módulo custom
hazard_shopify)
- Servidor: VPS en Plesk bajo el dominio
tesscorp.com.mx
- Idioma de comunicación: Siempre responder en español
Arquitectura Docker
Contenedores
| Contenedor |
Imagen |
Puerto Externo |
Puerto Interno |
odoo-16-hazard-new |
hazard-odoo-odoo (custom, basada en odoo:16) |
16001 |
8069 |
odoo-16-db-hazard-new |
postgres:17 |
No expuesto |
5432 |
Volúmenes y Rutas
- Módulos Enterprise:
./Addons/enterprise → /mnt/enterprise (dentro del contenedor)
- Módulos Custom:
./Addons/custom → /mnt/extra-addons (dentro del contenedor)
- Configuración Odoo:
./Conf/odoo.conf → /etc/odoo/odoo.conf
- Docker Compose:
/var/www/vhosts/tesscorp.com.mx/hazard.tesscorp.com.mx/docker-compose.yml
- IP interna del contenedor DB:
172.18.0.2 (usada por MCP Server PostgreSQL)
Base de Datos
- Base de datos principal (producción):
hazard_new
- Usuario DB:
odoo
- Contraseña DB:
odoo
Credenciales Odoo (XML-RPC)
- URL:
http://localhost:16001
- Base de datos:
hazard_new
- Usuario admin:
admin
- Contraseña admin:
admin
Módulos Custom Instalados
| Módulo |
Estado |
Ubicación |
hazard_shopify |
✅ Instalado |
Addons/custom/hazard_shopify |
hazard_inventory_report |
✅ Instalado |
Addons/custom/hazard_inventory_report |
hazard_website |
❌ No instalado |
Addons/custom/hazard_website |
Otros Módulos de Terceros
bi_sql_editor — Editor SQL en interfaz Odoo
query_deluxe — Consultas avanzadas desde Odoo
sql_request_abstract — Abstracción para consultas SQL
l10n_mx_sat_sync_itadmin_ee — Sincronización SAT México
Reglas de Desarrollo Obligatorias
Python
- NUNCA usar
print(). Siempre usar logging con _logger = logging.getLogger(__name__).
- Usar prefijos descriptivos en logs:
_logger.info("[Módulo] Mensaje").
- Siempre agregar docstrings a funciones y clases.
- Preferir código legible sobre código compacto.
Despliegue de Cambios
- Cambios en archivos
.py (modelos/lógica): Requiere restart del contenedor.
- Cambios en estructura de tablas (fields nuevos): Requiere restart + actualización del módulo.
- Cambios solo en XML/vistas/reportes: Solo requiere actualización del módulo (sin restart).
Seguridad y Respaldos
- NUNCA ejecutar
UPDATE o DELETE masivos sin respaldo previo.
- Script de respaldo:
backup_hazard.sh (respalda DB + código, retención 15 días).
- Los backups se suben a Google Drive automáticamente vía Plesk.
Código de Barras
- Formato EAN13 estandarizado con estructura
20000... (ej. 2000010012749).
- NUNCA crear scripts que alteren la secuencia de códigos de barras.
Archivos que NO se deben modificar
- Módulos en
/mnt/enterprise (módulos oficiales de Odoo Enterprise).
- Solo modificar código en
/mnt/extra-addons (módulos custom).
Scripts Útiles del Proyecto
| Script |
Propósito |
Comando |
backup_hazard.sh |
Respaldo completo (DB + código) |
bash backup_hazard.sh |
update_module.py |
Actualizar módulo hazard_shopify via XML-RPC |
python3 update_module.py |
Conexión MCP Server PostgreSQL
El agente tiene acceso directo de solo lectura a la base de datos hazard_new a través del MCP Server configurado en mcp_config.json. Usar la herramienta query del servidor odoo-postgres para consultas SQL cuando sea necesario inspeccionar datos.