- Backend NestJS con módulos de autenticación, inventario, créditos - Frontend React con dashboard y componentes UI - Base de datos PostgreSQL con migraciones - Tests E2E configurados - Configuración de Docker y deployment Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
483 lines
12 KiB
Markdown
483 lines
12 KiB
Markdown
# TRAZA DE TAREAS - BACKEND
|
|
|
|
**Proyecto:** MiInventario
|
|
**Capa:** Backend (NestJS)
|
|
**Actualizado:** 2026-01-11
|
|
**Version:** 3.0.0
|
|
|
|
---
|
|
|
|
## RESUMEN
|
|
|
|
| Metrica | Valor |
|
|
|---------|-------|
|
|
| Tareas totales | 14 |
|
|
| Completadas | 14 |
|
|
| En progreso | 0 |
|
|
| Pendientes | 0 |
|
|
| Progreso | 100% |
|
|
|
|
---
|
|
|
|
## HISTORIAL DE TAREAS
|
|
|
|
### [2026-01-10] MII-BE-001
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Inicializar proyecto NestJS con estructura base.
|
|
|
|
#### Archivos Creados
|
|
- `apps/backend/package.json`
|
|
- `apps/backend/tsconfig.json`
|
|
- `apps/backend/src/main.ts`
|
|
- `apps/backend/src/app.module.ts`
|
|
- `apps/backend/nest-cli.json`
|
|
|
|
#### Resultado
|
|
Proyecto NestJS inicializado con TypeScript, TypeORM y estructura modular.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-002
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de autenticacion con JWT, OTP y refresh tokens.
|
|
|
|
#### Archivos Creados
|
|
- `modules/auth/auth.module.ts`
|
|
- `modules/auth/auth.controller.ts`
|
|
- `modules/auth/auth.service.ts`
|
|
- `modules/auth/guards/jwt-auth.guard.ts`
|
|
- `modules/auth/strategies/jwt.strategy.ts`
|
|
- `modules/auth/dto/login.dto.ts`
|
|
- `modules/auth/dto/register.dto.ts`
|
|
- `modules/auth/dto/verify-otp.dto.ts`
|
|
- `modules/auth/dto/refresh-token.dto.ts`
|
|
- `modules/auth/entities/otp.entity.ts`
|
|
- `modules/auth/entities/refresh-token.entity.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- POST /auth/register
|
|
- POST /auth/verify-otp
|
|
- POST /auth/login
|
|
- POST /auth/refresh
|
|
- POST /auth/logout
|
|
|
|
#### Resultado
|
|
Sistema completo de autenticacion con OTP, JWT y refresh tokens.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-003
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de usuarios y perfiles.
|
|
|
|
#### Archivos Creados
|
|
- `modules/users/users.module.ts`
|
|
- `modules/users/users.controller.ts`
|
|
- `modules/users/users.service.ts`
|
|
- `modules/users/entities/user.entity.ts`
|
|
- `modules/users/dto/create-user.dto.ts`
|
|
- `modules/users/dto/update-user.dto.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /users/me
|
|
- PATCH /users/me
|
|
- PATCH /users/me/fcm-token
|
|
|
|
#### Resultado
|
|
Gestion de usuarios con perfil y FCM token para notificaciones.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-004
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de tiendas multi-tenant.
|
|
|
|
#### Archivos Creados
|
|
- `modules/stores/stores.module.ts`
|
|
- `modules/stores/stores.controller.ts`
|
|
- `modules/stores/stores.service.ts`
|
|
- `modules/stores/entities/store.entity.ts`
|
|
- `modules/stores/entities/store-user.entity.ts`
|
|
- `modules/stores/dto/create-store.dto.ts`
|
|
- `modules/stores/dto/update-store.dto.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- POST /stores
|
|
- GET /stores
|
|
- GET /stores/:id
|
|
- PATCH /stores/:id
|
|
- DELETE /stores/:id
|
|
|
|
#### Resultado
|
|
Sistema multi-tienda con roles OWNER/OPERATOR.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-005
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de videos para upload y procesamiento.
|
|
|
|
#### Archivos Creados
|
|
- `modules/videos/videos.module.ts`
|
|
- `modules/videos/videos.controller.ts`
|
|
- `modules/videos/videos.service.ts`
|
|
- `modules/videos/entities/video.entity.ts`
|
|
- `modules/videos/dto/initiate-upload.dto.ts`
|
|
- `modules/videos/processors/video-processing.processor.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- POST /stores/:storeId/videos/initiate
|
|
- POST /stores/:storeId/videos/:videoId/confirm
|
|
- GET /stores/:storeId/videos/:videoId/status
|
|
- GET /stores/:storeId/videos/:videoId/result
|
|
- GET /stores/:storeId/videos
|
|
|
|
#### Resultado
|
|
Sistema de upload con presigned URLs y procesamiento en cola.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-006
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de inventario (products renombrado a inventory).
|
|
|
|
#### Archivos Creados
|
|
- `modules/inventory/inventory.module.ts`
|
|
- `modules/inventory/inventory.controller.ts`
|
|
- `modules/inventory/inventory.service.ts`
|
|
- `modules/inventory/entities/inventory-item.entity.ts`
|
|
- `modules/inventory/dto/update-inventory-item.dto.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /stores/:storeId/inventory
|
|
- GET /stores/:storeId/inventory/statistics
|
|
- GET /stores/:storeId/inventory/low-stock
|
|
- GET /stores/:storeId/inventory/categories
|
|
- GET /stores/:storeId/inventory/:itemId
|
|
- PATCH /stores/:storeId/inventory/:itemId
|
|
- DELETE /stores/:storeId/inventory/:itemId
|
|
|
|
#### Resultado
|
|
Gestion completa de inventario con estadisticas y alertas.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-007
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de creditos (wallet).
|
|
|
|
#### Archivos Creados
|
|
- `modules/credits/credits.module.ts`
|
|
- `modules/credits/credits.controller.ts`
|
|
- `modules/credits/credits.service.ts`
|
|
- `modules/credits/entities/credit-balance.entity.ts`
|
|
- `modules/credits/entities/credit-package.entity.ts`
|
|
- `modules/credits/entities/credit-transaction.entity.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /credits/balance
|
|
- GET /credits/transactions
|
|
- GET /credits/packages
|
|
|
|
#### Resultado
|
|
Sistema de creditos con balance, paquetes y transacciones.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-008
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de pagos con Stripe.
|
|
|
|
#### Archivos Creados
|
|
- `modules/payments/payments.module.ts`
|
|
- `modules/payments/payments.controller.ts`
|
|
- `modules/payments/payments.service.ts`
|
|
- `modules/payments/entities/payment.entity.ts`
|
|
- `modules/payments/dto/create-payment.dto.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- POST /payments
|
|
- GET /payments
|
|
- GET /payments/:paymentId
|
|
- POST /payments/webhook/stripe
|
|
|
|
#### Resultado
|
|
Integracion Stripe para tarjeta, OXXO y 7-Eleven con webhooks.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-009
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de referidos.
|
|
|
|
#### Archivos Creados
|
|
- `modules/referrals/referrals.module.ts`
|
|
- `modules/referrals/referrals.controller.ts`
|
|
- `modules/referrals/referrals.service.ts`
|
|
- `modules/referrals/entities/referral.entity.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /referrals/my-code
|
|
- GET /referrals/stats
|
|
- GET /referrals
|
|
- GET /referrals/validate
|
|
- POST /referrals/apply
|
|
|
|
#### Resultado
|
|
Sistema de referidos con bonos bidireccionales y deteccion de fraude.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-010
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de proveedor IA multi-servicio.
|
|
|
|
#### Archivos Creados
|
|
- `modules/ia-provider/ia-provider.module.ts`
|
|
- `modules/ia-provider/ia-provider.service.ts`
|
|
|
|
#### Integraciones
|
|
- OpenAI GPT-4o Vision (primario)
|
|
- Anthropic Claude Vision (fallback)
|
|
|
|
#### Resultado
|
|
Abstraccion de proveedores de IA para procesamiento de video.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-011
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de notificaciones.
|
|
|
|
#### Archivos Creados
|
|
- `modules/notifications/notifications.module.ts`
|
|
- `modules/notifications/notifications.controller.ts`
|
|
- `modules/notifications/notifications.service.ts`
|
|
- `modules/notifications/entities/notification.entity.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /notifications
|
|
- GET /notifications/unread-count
|
|
- PATCH /notifications/:id/read
|
|
- POST /notifications/mark-all-read
|
|
- POST /notifications/register-token
|
|
|
|
#### Resultado
|
|
Sistema de notificaciones con Firebase FCM.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-012
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de retroalimentacion (Feedback).
|
|
|
|
#### Archivos Creados
|
|
- `modules/feedback/feedback.module.ts`
|
|
- `modules/feedback/feedback.controller.ts`
|
|
- `modules/feedback/feedback.service.ts`
|
|
- `modules/feedback/entities/correction.entity.ts`
|
|
- `modules/feedback/entities/ground-truth.entity.ts`
|
|
- `modules/feedback/entities/product-submission.entity.ts`
|
|
- `modules/feedback/dto/correct-quantity.dto.ts`
|
|
- `modules/feedback/dto/correct-sku.dto.ts`
|
|
- `modules/feedback/dto/submit-product.dto.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- PATCH /stores/:storeId/inventory/:itemId/correct-quantity
|
|
- PATCH /stores/:storeId/inventory/:itemId/correct-sku
|
|
- POST /stores/:storeId/inventory/:itemId/confirm
|
|
- GET /stores/:storeId/inventory/:itemId/history
|
|
- POST /products/submit
|
|
- GET /products/search
|
|
|
|
#### Resultado
|
|
Sistema de correcciones de inventario y ground truth para ML.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-BE-013
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de validaciones aleatorias.
|
|
|
|
#### Archivos Creados
|
|
- `modules/validations/validations.module.ts`
|
|
- `modules/validations/validations.controller.ts`
|
|
- `modules/validations/validations.service.ts`
|
|
- `modules/validations/entities/validation-request.entity.ts`
|
|
- `modules/validations/entities/validation-response.entity.ts`
|
|
- `modules/validations/dto/submit-validation.dto.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /validations/:requestId/items
|
|
- POST /validations/:requestId/submit
|
|
- POST /validations/:requestId/skip
|
|
- GET /validations/check/:videoId
|
|
|
|
#### Resultado
|
|
Sistema de micro-auditorias aleatorias con probabilidad configurable.
|
|
|
|
---
|
|
|
|
### [2026-01-11] MII-BE-014
|
|
**Estado:** completado
|
|
**Agente:** Agente Claude
|
|
**Fecha Completado:** 2026-01-11
|
|
|
|
#### Descripcion
|
|
Modulo de administracion SaaS.
|
|
|
|
#### Archivos Creados
|
|
- `modules/admin/admin.module.ts`
|
|
- `modules/admin/admin.controller.ts`
|
|
- `modules/admin/services/admin-dashboard.service.ts`
|
|
- `modules/admin/services/admin-providers.service.ts`
|
|
- `modules/admin/services/admin-packages.service.ts`
|
|
- `modules/admin/services/admin-promotions.service.ts`
|
|
- `modules/admin/services/admin-moderation.service.ts`
|
|
- `modules/admin/services/audit-log.service.ts`
|
|
- `modules/admin/entities/ia-provider.entity.ts`
|
|
- `modules/admin/entities/promotion.entity.ts`
|
|
- `modules/admin/entities/audit-log.entity.ts`
|
|
- `modules/admin/dto/dashboard.dto.ts`
|
|
- `modules/admin/dto/provider.dto.ts`
|
|
- `modules/admin/dto/package.dto.ts`
|
|
- `modules/admin/dto/promotion.dto.ts`
|
|
- `modules/admin/dto/moderation.dto.ts`
|
|
- `common/guards/roles.guard.ts`
|
|
- `common/decorators/roles.decorator.ts`
|
|
- `migrations/1736600000000-CreateAdminTables.ts`
|
|
|
|
#### Endpoints Implementados
|
|
- GET /admin/dashboard
|
|
- GET /admin/dashboard/revenue-series
|
|
- GET /admin/providers
|
|
- PATCH /admin/providers/:id
|
|
- GET /admin/packages
|
|
- POST /admin/packages
|
|
- PATCH /admin/packages/:id
|
|
- GET /admin/promotions
|
|
- POST /admin/promotions
|
|
- PATCH /admin/promotions/:id
|
|
- POST /admin/promotions/validate
|
|
- GET /admin/products/pending
|
|
- POST /admin/products/:id/approve
|
|
- POST /admin/products/:id/reject
|
|
- GET /admin/referrals/fraud-holds
|
|
- POST /admin/referrals/:id/approve
|
|
- POST /admin/referrals/:id/reject
|
|
|
|
#### Resultado
|
|
Panel completo de administracion con dashboard de metricas, gestion de proveedores IA, paquetes, promociones, y moderacion de productos/referidos. Sistema de roles jerarquico (USER, VIEWER, MODERATOR, ADMIN, SUPER_ADMIN).
|
|
|
|
---
|
|
|
|
## TAREAS ADICIONALES COMPLETADAS
|
|
|
|
### MII-BE-HEALTH
|
|
**Estado:** completado
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Modulo de health checks.
|
|
|
|
#### Archivos Creados
|
|
- `modules/health/health.controller.ts`
|
|
|
|
#### Endpoints
|
|
- GET /health
|
|
- GET /health/ready
|
|
|
|
---
|
|
|
|
### MII-BE-TESTS
|
|
**Estado:** completado
|
|
**Fecha Completado:** 2026-01-11
|
|
|
|
#### Descripcion
|
|
Tests E2E para todos los modulos.
|
|
|
|
#### Archivos Creados
|
|
- `test/health.e2e-spec.ts` (2 tests)
|
|
- `test/auth.e2e-spec.ts` (13 tests)
|
|
- `test/users.e2e-spec.ts` (6 tests)
|
|
- `test/stores.e2e-spec.ts` (12 tests)
|
|
- `test/credits.e2e-spec.ts` (7 tests)
|
|
- `test/inventory.e2e-spec.ts` (13 tests)
|
|
- `test/feedback.e2e-spec.ts` (tests)
|
|
- `test/validations.e2e-spec.ts` (tests)
|
|
- `test/admin.e2e-spec.ts` (tests)
|
|
|
|
#### Resultado
|
|
53+ tests E2E pasando al 100%.
|
|
|
|
---
|
|
|
|
## RESUMEN FINAL
|
|
|
|
| Estado | Cantidad |
|
|
|--------|----------|
|
|
| Completadas | 14 |
|
|
| Pendientes | 0 |
|
|
| **Total** | **14** |
|
|
|
|
**Tests E2E:** 53+ pasando
|
|
**Endpoints:** ~70 implementados
|
|
**Entidades:** 16 creadas
|
|
**Modulos:** 14 funcionales
|
|
|
|
---
|
|
|
|
**Ultima Actualizacion:** 2026-01-11
|