You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.2 KiB
Markdown

# Estado del Proyecto - Task Manager para WhatsApp
## ✅ Funcionalidades Completadas
- **Infraestructura Principal**
- Servidor webhook con health checks
- Dockerización y despliegue CapRover
- Gestión de dependencias con Bun
- **Base de Datos**
- Modelo de tareas y asignaciones
- Normalización de IDs de WhatsApp
- Transacciones atómicas
- **Sincronización de Grupos**
- Cache de grupos activos
- Sync periódico con Evolution API
- **Webhooks**
- Registro/verificación con Evolution API
- Manejo básico de eventos (MESSAGES_UPSERT)
- **Comandos**
- Detección de /tarea
- Parser básico de acciones/fechas
- **Testing**
- Suite completa de tests unitarios
- Todos los tests pasan (97 pass, 0 fail)
- **Validaciones de Usuario**
- Integración completa de normalización y `ensureUserExists` en el flujo principal de mensajes
- Tests de integración para validaciones de usuarios
- **Aislamiento de Base de Datos en Pruebas**
- Uso de instancias en memoria para evitar conflictos entre tests
## ⚠️ Funcionalidades Pendientes
- **Gestión de Tareas**
- Operaciones CRUD incompletas (solo creación)
- Falta listar/completar/eliminar tareas
- **Cola de Respuestas**
- Sin integración con Evolution API
- No envía mensajes realmente
- **Persistencia en DB en progreso** (importante para evitar pérdida de mensajes en reinicios)
- **Validaciones**
- Permisos de usuario no implementados
- Sin verificación de pertenencia a grupos
- **Comandos**
- Acciones de tareas no implementadas (crear/listar)
## ➡️ Próximos Pasos Prioritarios
1. Adaptar ResponseQueue.add a persistente (insert en DB)
2. Implementar worker continuo básico (N workers, sin reintentos, sin orden estricto)
3. Integrar el worker en server.start (desactivado en entorno de test)
4. Añadir tests unitarios de la cola con mocks de fetch
5. Iteración siguiente: reintentos con backoff exponencial y mejoras de observabilidad
## 🔧 Archivos Clave a Modificar
- `src/services/response-queue.ts`
- `src/services/command.ts`
- `src/tasks/service.ts`
- `src/server.ts`
## Commit history and status
- Latest commit: All tests passing, infrastructure solid, ready for core logic implementation.