Python • Django / DRF • PostgreSQL • Arquitecturas Transaccionales • Docker & Linux
GitHub Profile • 📍 Cúcuta, Colombia (Disponible Remoto / Híbrido)
Soy un Desarrollador Backend enfocado en diseñar y poner en producción sistemas transaccionales de alta confiabilidad, arquitecturas offline-first, motores de facturación automatizada y despliegues contenerizados.
- 🚀 3+ años desarrollando y manteniendo software comercial en producción real.
- 🛡️ Tolerancia Cero a Desfases: Motores de facturación mensual para telecomunicaciones y sistemas POS con cálculo inmutable de divisas y transacciones atómicas (
transaction.atomic). - 📡 Arquitecturas Offline-First: Sincronización delta incremental para cuadrillas técnicas y clientes móviles en condiciones de conectividad inestable.
- 📦 DevOps & Entornos: Despliegue orquestado con Docker, Gunicorn, Nginx, cronjobs de mantenimiento y compilación nativa en entornos Linux.
- 🌟 Comunidad & Open Source: +95 estrellas en GitHub por herramientas de automatización de sistema y desarrollo nativo en Unix.
| Capa | Tecnologías | Enfoque de Producción |
|---|---|---|
| Backend Core | Python 3, Django 4.x / 6.x, Django REST Framework |
Clean Architecture, ViewSets, Serializers relacionales, Throttling por IP. |
| Bases de Datos | PostgreSQL, MySQL, SQLite |
Diseño relacional normalizado, restricciones de integridad, transacciones ACID. |
| Seguridad & Auth | SimpleJWT, RBAC (Role-Based Access) |
Stateless Auth, rotación de refresh tokens, lista negra automática, inyección de auditoría. |
| DevOps & SysAdmin | Docker, Docker Compose, Gunicorn, Nginx, Linux (Arch/Debian) |
Contenerización multi-etapa, cronjobs de mantenimiento, scripts Bash para automatización. |
| Integraciones & Frontend | React Native (Expo), Vite, Google Gemini SDK, PySide6 (Qt) |
Consumo de APIs REST, validación de esquemas Pydantic, herramientas de escritorio. |
Nota de confidencialidad: De acuerdo con las mejores prácticas y acuerdos de confidencialidad (NDA), las identidades y credenciales de clientes se encuentran sanitizadas. Los diagramas, especificaciones técnicas y patrones arquitectónicos presentados corresponden a sistemas comerciales actualmente en producción.
Dominio: Telecomunicaciones & Gestión de Proveedores de Internet (ISP)
Stack: Python 3.12+ • Django 6.0 • Django REST Framework • PostgreSQL • SimpleJWT • Gunicorn • Docker • Vite / Tailwind
Un ISP regional requería centralizar la administración de su infraestructura de fibra (ONUs, cajas NAP, sectores geográficos), gestionar órdenes de servicio en campo con cobertura móvil irregular y erradicar errores humanos en la facturación mensual recurrente y el cobro multimoneda.
- Sincronización Offline-First Incremental: Implementación de endpoints transaccionales (
/api/clientes/,/api/ordenes-servicio/) con soporte de sincronización delta mediante el parámetro?last_sync=<timestamp>, permitiendo a técnicos de campo operar desconectados y sincronizar exclusivamente las modificaciones al retomar señal. - Auditoría Forzada e Inmutabilidad Financiera:
- Herencia de un
BaseModelque inyecta automáticamentecreado_porymodificado_porenperform_createyperform_updateextrayendo la identidad criptográfica del token JWT. - Los campos contables (
monto_convertido_usd) en el registro de abonos son estrictamente de solo lectura para el cliente: el backend realiza la conversión de moneda de forma aislada e inmutable.
- Herencia de un
- Orquestación Desacoplada por Señales (Event-Driven):
- Disparadores en
signals.pycon lazy imports (apps.get_model()) para evitar dependencias circulares entre módulos. - Al pasar una orden de instalación a estado
Solucionado, se activa automáticamente el activo de red asignandofecha_instalacionydia_facturacion = min(now.day, 28). - Generación de factura de instalación con protección de idempotencia de 24 horas mediante comprobaciones
.exists().
- Disparadores en
- Automatización de Mensualidades (Cronjob + Django Management Command):
- Comando personalizado
python manage.py generar_facturasejecutado diariamente a la medianoche por un cronjob Linux. - Ciclo de corte restringido (días 1 a 28) envuelto en bloques
transaction.atomic(), garantizando consistencia absoluta ante fallos eléctricos o caídas del proceso.
- Comando personalizado
graph TD
subgraph Clientes["Clientes & Consumo"]
TechMobile["📱 App de Técnicos en Campo\n(Offline-First Sync ?last_sync)"]
AdminWeb["💻 Panel Administrativo ISP\n(Vite + React / Nginx)"]
end
subgraph Seguridad["Perímetro & Autenticación"]
Throttling["🛡️ IP Throttling\n(5 req/min en login)"]
JWTIssuer["🔐 SimpleJWT\n(Access 1h / Refresh 7d + Blacklist)"]
end
subgraph CoreBackend["Núcleo Django REST Framework"]
AuditGuard["⚖️ Audit Guard\n(Inyección JWT perform_create)"]
SignalRouter["⚡ Event Router (signals.py)\n(Instalación -> Activación de ONU)"]
CronBilling["⏰ Motor Diario Cron (00:00)\n(transaction.atomic - Ciclos 1-28)"]
end
subgraph Persistencia["Persistencia & Topología"]
Postgres[("🐘 PostgreSQL\n(Partición de Clientes & Facturas)")]
FiberNetwork["🌐 Topología de Red\n(Sectores, Cajas NAP, ONUs)"]
end
TechMobile --> Throttling
AdminWeb --> Throttling
Throttling --> JWTIssuer
JWTIssuer --> AuditGuard
AuditGuard --> SignalRouter
SignalRouter --> FiberNetwork
AuditGuard --> Postgres
CronBilling --> Postgres
Dominio: Comercialización de Repuestos Diésel, Gestión Multi-Almacén & Flotas
Stack: Django 4.2 / DRF • PostgreSQL / MySQL • Docker • Nixpacks • Gunicorn • React Native (Expo / EAS)
Coordinar en tiempo real la venta en mostrador (POS) de repuestos y componentes mecánicos diésel frente al consumo interno de repuestos e insumos por parte de los vehículos y choferes de la flota de transporte pesado, manteniendo un control estricto de existencias multi-ubicación (Locales, Galpones, Almacenes) con trazabilidad de costos históricos en USD.
- Seguridad RBAC Stateless: Arquitectura de roles diferenciados (
ADMIN,CASHIER,DRIVER) controlando scopes estrictos de acceso (ventas de mostrador vs. retiros de repuestos e insumos por placa de vehículo). - Inventario Multi-Ubicación con Trazabilidad Exhaustiva (
LogProductos):- Control de existencias por depósito físico (
StockPorUbicacion) y registro inmutable de movimientos (ENTRADA,TRASPASO,VENTA,CONSUMO_INTERNO,CONSUMO_INTERNO_TRANSPORTE,AJUSTES). - Mecanismo transaccional que previene condiciones de carrera o inconsistencias en stock al despachar repuestos concurrentemente.
- Control de existencias por depósito físico (
- Control de Consumo Interno por Vehículo:
- Módulo especializado (
internal_consumption) que vincula el retiro de repuestos al vehículo receptor (normalización de placa, año, marca) y chofer responsable, calculando dinámicamente el costo acumulado en USD con captura del costo de compra exacto al momento del despacho.
- Módulo especializado (
- Cliente Móvil Dedicado: Aplicación móvil en React Native (TypeScript + Expo) compilada para operadores y conductores, con captura de retiros de repuestos en patio, verificación de compatibilidad e inicio de sesión seguro.
- Contenerización Reproducible: Configuración con
Dockerfile, perfiles denixpacks.tomly orquestación con Gunicorn y Whitenoise.
graph LR
subgraph Actores["Actores del Sistema"]
Cajero["🏪 Cajero Mostrador (POS)"]
Conductor["🚛 Chofer de Flota (App Móvil)"]
Admin["📊 Gerencia & Logística"]
end
subgraph API["API Gateway & Reglas de Negocio (DRF)"]
RBAC["🛡️ RBAC Middleware\n(Admin / Cashier / Driver)"]
SalesEngine["💵 Facturación POS (Repuestos)"]
FleetEngine["🔧 Consumo Interno (Por Placa de Vehículo)"]
StockManager["📦 Stock Multi-Ubicación\n(Almacén / Galpón / Local)"]
AuditLog["📜 Log Inmutable de Movimientos\n(LogProductos)"]
end
subgraph DataStore["Capa de Datos"]
DB[("🐘 PostgreSQL / MySQL\n(Transacciones ACID)")]
end
Cajero --> RBAC
Conductor --> RBAC
Admin --> RBAC
RBAC --> SalesEngine
RBAC --> FleetEngine
SalesEngine --> StockManager
FleetEngine --> StockManager
StockManager --> AuditLog
AuditLog --> DB
Dominio: Transporte Nacional de Carga Pesada
Stack: Django 6.0 • MySQL / PostgreSQL • Google Gemini GenAI SDK • Pydantic • Gunicorn • Whitenoise
Modernizar una plataforma operativa monolítica legacy en PHP procedural que procesaba cientos de despachos de carga semanales, haciéndola escalable y reduciendo el tiempo de digitación manual de manifiestos y remesas.
- Migración & Normalización de Datos: Reingeniería inversa de esquemas legacy a modelos normalizados en Django ORM sin interrumpir la operación comercial continua.
- Pipeline Asistido por Inteligencia Artificial: Integración de la API de Google Gemini estructurada mediante esquemas estrictos de Pydantic para validar y clasificar manifiestos de transporte, extrayendo pesos, destinos y tarifas automáticamente.
- Servidor & Despliegue Híbrido: Compatibilidad con entornos Linux bajo Gunicorn y despliegues locales controlados mediante scripts de inicialización de servidor (
.bat/ Bash).
⚙️ GearCloudGestión Integral de Talleres Mecánicos y Flotas
|
📱 JynDoApp Móvil de Productividad Gamificada (Offline-First)
|
|
Wallpaper & Theme Engine para Linux Hyprland
|
🐧 dotfiles_v2 & AiDots (+90 ⭐)Entorno de Trabajo & Automatización Unix
|
- La Verdad Reside Exclusivamente en el Servidor: El cliente (frontend o móvil) es inherentemente inseguro. Las matemáticas financieras, conversiones de tasa de cambio y cálculos de stock se resuelven de forma inmutable en el backend.
- Idempotencia Transaccional: Toda mutación de saldo o inventario se ejecuta dentro de bloques atómicos (
transaction.atomic). Si una llamada de red falla a la mitad, la base de datos revierte al estado consistente anterior. - Auditoría No Negociable: Los registros críticos capturan automáticamente el usuario autenticado desde el token criptográfico JWT, eliminando la posibilidad de falsificación de autoría.
- Desacoplamiento Event-Driven: Uso riguroso de señales con importaciones perezosas para desacoplar módulos de dominio y prevenir ciclos de importación.
- Pragmatismo DevOps: Código estructurado según los principios de los 12 Factores: configuración aislada en variables de entorno, contenedores reproducibles y comandos de mantenimiento auditables.
Conectemos vía GitHub Profile
© 2026 Jyndev. Construyendo sistemas confiables línea por línea.

