Evaluando propuestas

Experto en Optimización de Rendimiento para Bot de Discord con Node.js y Mongodb

Publicado el 29 Marzo, 2026 en Programación y Tecnología

Sobre este proyecto

Abierto

Se busca un experto en Node.js y MongoDB para realizar una optimización crítica de rendimiento en un bot de Discord de coleccionables (K-pop). El bot maneja una base de datos de 1.7 millones de registros de inventario. Aunque la infraestructura ya fue migrada a un esquema de subdocumentos (V2) y la base de datos en Atlas responde en 0ms, el bot presenta un lag significativo de cpu y ram en el entorno de node.js al ejecutar comandos de lectura y transacciones. El objetivo principal es eliminar este cuello de botella para que los comandos respondan de manera instantánea.

Las tareas principales incluyen:


Optimización de Procesamiento: Corregir la lógica de comandos específicos, como /inventory, para evitar que procesen miles de cartas en la RAM antes de aplicar la paginación, optimizando el uso de recursos.
Migración de Comandos Legacy: Completar la migración de comandos pendientes (como use.js, refund.js, makefolder_command.js, entre otros) al nuevo sistema de operaciones atómicas $push / $pull, eliminando el uso de .save() para transacciones más eficientes.
Uso de Aggregation Pipelines: Optimizar búsquedas complejas y la generación de rankings implementando Aggregation Pipelines directamente en el motor de MongoDB, aprovechando su capacidad de procesamiento.

Requisitos Técnicos:

Dominio experto de Node.js, incluyendo una comprensión profunda de la gestión del Event Loop y la optimización de memoria.
Experiencia avanzada en MongoDB, con conocimientos sólidos en indexación, el Aggregation Framework y operaciones atómicas.
Dominio de Discord.js v14+ para la interacción con la API de Discord.
Capacidad demostrada para leer y simplificar código existente, buscando reducir la complejidad y el número de líneas de código.

Entregable:

Un bot de Discord donde los comandos clave como /inventory, /trade y /sell respondan en menos de 1 segundo, sin causar bloqueos en el proceso de Node.js.

Categoría Programación y Tecnología
Subcategoría Aplicaciones de escritorio
¿Cuál es el alcance del proyecto? Cambio mediano

Plazo de Entrega: No definido

Habilidades necesarias