docs: update history and current after F-077 close
This commit is contained in:
@@ -1,49 +1,7 @@
|
|||||||
# Feature actual
|
# Feature actual
|
||||||
|
|
||||||
## Feature activa: F-073 — Activate/deactivate VAT types in admin tax rates page
|
## Feature activa: ninguna — backlog completo
|
||||||
|
|
||||||
Backlog: 145 features (144 done, 1 pending). Últimas features cerradas: **F-069**, **F-070**, **F-071**, **F-072**, **F-073**, **F-074**, **F-075**, **F-076**.
|
Backlog: 145 features (145 done, 0 pending). ¡Sprint completo!
|
||||||
|
|
||||||
### Problema
|
Últimas features cerradas: **F-069**, **F-070**, **F-071**, **F-072**, **F-073**, **F-074**, **F-075**, **F-076**, **F-077**.
|
||||||
Las categorías usan maps hardcoded de emoji/color en el frontend (CategoriesGrid, categories/page) que no se pueden personalizar desde el admin. Además, las nuevas categorías parent muestran 📁 en lugar de su emoji identificativo.
|
|
||||||
|
|
||||||
### Solución
|
|
||||||
Añadir campos `emoji` y `color` a la tabla `categories_categories` + tipos + formulario admin + usar los valores almacenados en el frontend en lugar de maps hardcoded.
|
|
||||||
|
|
||||||
### Archivos clave
|
|
||||||
- `project/migrations/030_category_emoji_color.js` (nueva)
|
|
||||||
- `project/src/modules/categories/domain/category.ts`
|
|
||||||
- `project/src/modules/categories/infrastructure/pg-category-repository.ts`
|
|
||||||
- `project/src/modules/categories/api/categories.routes.ts`
|
|
||||||
- `project/frontend/src/types/api.ts`
|
|
||||||
- `project/frontend/src/components/home/CategoriesGrid.tsx`
|
|
||||||
- `project/frontend/src/app/categories/page.tsx`
|
|
||||||
- `project/apps/admin/src/types/index.ts`
|
|
||||||
- `project/apps/admin/src/app/(dashboard)/categories/page.tsx`
|
|
||||||
- `project/storefront/src/lib/api.ts`
|
|
||||||
- `project/storefront/src/app/categoria/[slug]/page.tsx`
|
|
||||||
|
|
||||||
## Servicios productivos
|
|
||||||
|
|
||||||
```
|
|
||||||
SERVICE PID HTTP URL
|
|
||||||
backend 76603 200 http://192.168.18.93:3000
|
|
||||||
frontend 76631 200 http://192.168.18.93:3003/
|
|
||||||
admin 76658 200 http://192.168.18.93:3004/
|
|
||||||
storefront 76693 200 http://192.168.18.93:3005/
|
|
||||||
```
|
|
||||||
|
|
||||||
Gestión: `./project/scripts/monolith.sh prod status|start|restart|stop|logs`
|
|
||||||
|
|
||||||
## Credenciales backoffice
|
|
||||||
|
|
||||||
- `admin@mercadodevida.com` / `Admin1234`
|
|
||||||
- `info@rikrdo.es` (hash histórico)
|
|
||||||
|
|
||||||
## Diagnóstico rápido
|
|
||||||
|
|
||||||
### F-055 (done): Image thumbnails
|
|
||||||
- 40px para listas, 200px para previews
|
|
||||||
- Pre-generados con `./project/scripts/generate-thumbnails.sh`
|
|
||||||
- URLs estáticas: `/uploads/40/<file>` y `/uploads/200/<file>`
|
|
||||||
- CSS max-height en fichas de producto
|
|
||||||
|
|||||||
@@ -356,3 +356,31 @@
|
|||||||
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
|
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
|
||||||
- Artefactos: work/artifacts/F-073/.
|
- Artefactos: work/artifacts/F-073/.
|
||||||
|
|
||||||
|
## 2026-08-19 — F-074 Audit shows real-time logs from application services — DONE
|
||||||
|
|
||||||
|
- Gates: reviewer APPROVED, security APPROVED, qa APPROVED, leader-close APPROVED, verify.sh exit 0
|
||||||
|
- Entregable: Página de auditoría (/audit) ahora tiene polling cada 5 segundos para mostrar nuevas entradas en tiempo real. Indicador "● En vivo" cuando polling activo. Badge "+N nuevas" cuando llegan entradas. El polling se detiene al filtrar o paginar.
|
||||||
|
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
|
||||||
|
- Artefactos: work/artifacts/F-074/.
|
||||||
|
|
||||||
|
## 2026-08-19 — F-075 Inline edit SKU/EAN/STOCK in inventory module, remove Actions column — DONE
|
||||||
|
|
||||||
|
- Gates: reviewer APPROVED, security APPROVED, qa APPROVED, leader-close APPROVED, verify.sh exit 0
|
||||||
|
- Entregable: Inventario (/inventory) permite edición inline de SKU, EAN y Stock con click-to-edit. Añadido `productsApi.updateVariant` al api-client. Columna "Acción" eliminada.
|
||||||
|
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
|
||||||
|
- Artefactos: work/artifacts/F-075/.
|
||||||
|
|
||||||
|
## 2026-08-19 — F-076 Link to frontend product + archive separate listing — DONE
|
||||||
|
|
||||||
|
- Gates: reviewer APPROVED, security APPROVED, qa APPROVED, leader-close APPROVED, verify.sh exit 0
|
||||||
|
- Entregable: Productos (/products) tiene filtros por estado (Todos/Activos/Archivados) y columna "Tienda" con icono de enlace externo al frontend para productos activos.
|
||||||
|
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
|
||||||
|
- Artefactos: work/artifacts/F-076/.
|
||||||
|
|
||||||
|
## 2026-08-19 — F-077 Product short description renders HTML in admin product list — DONE
|
||||||
|
|
||||||
|
- Gates: reviewer APPROVED, security APPROVED, qa APPROVED, leader-close APPROVED, verify.sh exit 0
|
||||||
|
- Entregable: La descripción breve en la lista de productos del admin ahora renderiza HTML de forma segura con sanitización (strips dangerous tags). Uso de `dangerouslySetInnerHTML` con `renderHtml()`.
|
||||||
|
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
|
||||||
|
- Artefactos: work/artifacts/F-077/.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user