- 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>
317 lines
7.0 KiB
Markdown
317 lines
7.0 KiB
Markdown
# TRAZA DE TAREAS - DATABASE
|
|
|
|
**Proyecto:** MiInventario
|
|
**Capa:** Database (PostgreSQL + TypeORM)
|
|
**Actualizado:** 2026-01-10
|
|
**Version:** 2.0.0
|
|
|
|
---
|
|
|
|
## RESUMEN
|
|
|
|
| Metrica | Valor |
|
|
|---------|-------|
|
|
| Tareas totales | 10 |
|
|
| Completadas | 10 |
|
|
| En progreso | 0 |
|
|
| Pendientes | 0 |
|
|
| Progreso | 100% |
|
|
|
|
---
|
|
|
|
## NOTA IMPORTANTE
|
|
|
|
El proyecto usa **TypeORM** con migraciones en lugar de archivos DDL separados.
|
|
La base de datos utiliza un **schema unico (public)** en lugar de schemas separados.
|
|
|
|
---
|
|
|
|
## HISTORIAL DE TAREAS
|
|
|
|
### [2026-01-10] MII-DB-001
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Configurar conexion y extensiones de base de datos.
|
|
|
|
#### Archivos Creados
|
|
- `src/config/database.config.ts`
|
|
- `src/config/typeorm.config.ts`
|
|
|
|
#### Extensiones Habilitadas
|
|
- uuid-ossp (UUIDs)
|
|
|
|
#### Resultado
|
|
TypeORM configurado con PostgreSQL 15.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-002
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tablas de autenticacion (equivalente a schema auth).
|
|
|
|
#### Tablas Creadas
|
|
- `users` - Usuarios del sistema
|
|
- `otps` - Codigos OTP para verificacion
|
|
- `refresh_tokens` - Tokens de refresco JWT
|
|
|
|
#### ENUMs Creados
|
|
- `users_role_enum` (USER, ADMIN)
|
|
- `otps_purpose_enum` (REGISTRATION, LOGIN, PASSWORD_RESET)
|
|
|
|
#### Resultado
|
|
Sistema de autenticacion con OTP y tokens.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-003
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tablas de tenants/tiendas (equivalente a schema public).
|
|
|
|
#### Tablas Creadas
|
|
- `stores` - Tiendas de usuarios
|
|
- `store_users` - Relacion usuarios-tiendas
|
|
|
|
#### ENUMs Creados
|
|
- `store_users_role_enum` (OWNER, OPERATOR)
|
|
|
|
#### Resultado
|
|
Sistema multi-tenant con roles.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-004
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tablas de inventario y videos (equivalente a schema inventory).
|
|
|
|
#### Tablas Creadas
|
|
- `videos` - Videos subidos para procesamiento
|
|
- `inventory_items` - Items de inventario detectados
|
|
|
|
#### ENUMs Creados
|
|
- `videos_status_enum` (PENDING, UPLOADING, UPLOADED, PROCESSING, COMPLETED, FAILED)
|
|
|
|
#### Indices Creados
|
|
- `inventory_items(storeId, name)`
|
|
- `inventory_items(storeId, category)`
|
|
- `inventory_items(storeId, barcode)`
|
|
|
|
#### Resultado
|
|
Sistema de videos e inventario con indices optimizados.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-005
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tablas de creditos (equivalente a schema wallet).
|
|
|
|
#### Tablas Creadas
|
|
- `credit_balances` - Saldos de creditos por usuario
|
|
- `credit_packages` - Paquetes de creditos disponibles
|
|
- `credit_transactions` - Transacciones de creditos
|
|
|
|
#### ENUMs Creados
|
|
- `credit_transactions_type_enum` (PURCHASE, CONSUMPTION, REFERRAL_BONUS, PROMO, REFUND)
|
|
|
|
#### Indices Creados
|
|
- `credit_transactions(userId, createdAt)`
|
|
- `credit_transactions(type, createdAt)`
|
|
|
|
#### Resultado
|
|
Sistema de creditos con balance, paquetes y transacciones.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-006
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tabla de pagos (equivalente a schema payments).
|
|
|
|
#### Tablas Creadas
|
|
- `payments` - Pagos de usuarios
|
|
|
|
#### ENUMs Creados
|
|
- `payments_method_enum` (CARD, OXXO, 7ELEVEN)
|
|
- `payments_status_enum` (PENDING, PROCESSING, COMPLETED, FAILED, REFUNDED, EXPIRED)
|
|
|
|
#### Indices Creados
|
|
- `payments(userId, createdAt)`
|
|
- `payments(status, createdAt)`
|
|
- `payments(externalId)`
|
|
|
|
#### Resultado
|
|
Sistema de pagos multi-metodo.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-007
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tabla de referidos (equivalente a schema referrals).
|
|
|
|
#### Tablas Creadas
|
|
- `referrals` - Sistema de referidos
|
|
|
|
#### ENUMs Creados
|
|
- `referrals_status_enum` (PENDING, REGISTERED, QUALIFIED, REWARDED)
|
|
|
|
#### Indices Creados
|
|
- `referrals(referrerId)`
|
|
- `referrals(referredId)`
|
|
- `referrals(referralCode)`
|
|
|
|
#### Resultado
|
|
Sistema de referidos con bonos bidireccionales.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-008
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Tabla de notificaciones.
|
|
|
|
#### Tablas Creadas
|
|
- `notifications` - Notificaciones de usuarios
|
|
|
|
#### ENUMs Creados
|
|
- `notifications_type_enum` (VIDEO_PROCESSING_COMPLETE, VIDEO_PROCESSING_FAILED, LOW_CREDITS, PAYMENT_COMPLETE, PAYMENT_FAILED, REFERRAL_BONUS, PROMO, SYSTEM)
|
|
|
|
#### Indices Creados
|
|
- `notifications(userId, isRead)`
|
|
- `notifications(userId, createdAt)`
|
|
|
|
#### Resultado
|
|
Sistema de notificaciones con tipos y estados.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-009
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Migracion consolidada TypeORM.
|
|
|
|
#### Archivos Creados
|
|
- `src/migrations/1768099560565-Init.ts`
|
|
|
|
#### Contenido de la Migracion
|
|
- 13 tablas creadas
|
|
- 10 ENUMs definidos
|
|
- 17 indices configurados
|
|
- 13 foreign keys establecidos
|
|
|
|
#### Resultado
|
|
Migracion ejecutada exitosamente.
|
|
|
|
---
|
|
|
|
### [2026-01-10] MII-DB-010
|
|
**Estado:** completado
|
|
**Agente:** Agente Implementador
|
|
**Fecha Completado:** 2026-01-10
|
|
|
|
#### Descripcion
|
|
Seeds iniciales.
|
|
|
|
#### Archivos Creados
|
|
- `src/database/seed.ts`
|
|
|
|
#### Datos Sembrados
|
|
- credit_packages: 4 paquetes
|
|
- Basico: 50 creditos / $50 MXN
|
|
- Popular: 120 creditos / $100 MXN
|
|
- Premium: 300 creditos / $200 MXN
|
|
- Empresarial: 750 creditos / $500 MXN
|
|
|
|
#### Resultado
|
|
Paquetes de creditos disponibles.
|
|
|
|
---
|
|
|
|
## RESUMEN DE BASE DE DATOS
|
|
|
|
### Tablas (13)
|
|
|
|
| Tabla | Descripcion |
|
|
|-------|-------------|
|
|
| users | Usuarios del sistema |
|
|
| otps | Codigos OTP |
|
|
| refresh_tokens | Tokens de refresco |
|
|
| stores | Tiendas |
|
|
| store_users | Relacion usuarios-tiendas |
|
|
| videos | Videos subidos |
|
|
| inventory_items | Items de inventario |
|
|
| credit_balances | Saldos de creditos |
|
|
| credit_packages | Paquetes de creditos |
|
|
| credit_transactions | Transacciones |
|
|
| payments | Pagos |
|
|
| referrals | Referidos |
|
|
| notifications | Notificaciones |
|
|
|
|
### ENUMs (10)
|
|
|
|
| ENUM | Valores |
|
|
|------|---------|
|
|
| users_role_enum | USER, ADMIN |
|
|
| otps_purpose_enum | REGISTRATION, LOGIN, PASSWORD_RESET |
|
|
| store_users_role_enum | OWNER, OPERATOR |
|
|
| videos_status_enum | PENDING, UPLOADING, UPLOADED, PROCESSING, COMPLETED, FAILED |
|
|
| credit_transactions_type_enum | PURCHASE, CONSUMPTION, REFERRAL_BONUS, PROMO, REFUND |
|
|
| payments_method_enum | CARD, OXXO, 7ELEVEN |
|
|
| payments_status_enum | PENDING, PROCESSING, COMPLETED, FAILED, REFUNDED, EXPIRED |
|
|
| referrals_status_enum | PENDING, REGISTERED, QUALIFIED, REWARDED |
|
|
| notifications_type_enum | 8 tipos diferentes |
|
|
|
|
### Indices (17)
|
|
|
|
Indices optimizados para consultas frecuentes en todas las tablas principales.
|
|
|
|
### Foreign Keys (13)
|
|
|
|
Relaciones entre tablas con integridad referencial.
|
|
|
|
---
|
|
|
|
## CONEXION
|
|
|
|
| Parametro | Valor |
|
|
|-----------|-------|
|
|
| Host | localhost |
|
|
| Puerto | 5433 |
|
|
| Nombre | miinventario_dev |
|
|
| Usuario | postgres |
|
|
| ORM | TypeORM |
|
|
|
|
---
|
|
|
|
**Ultima Actualizacion:** 2026-01-10
|