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
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.
|