- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
142 lines
5.1 KiB
YAML
142 lines
5.1 KiB
YAML
epic_code: EAI-005
|
|
epic_name: Administración Base
|
|
phase: 1
|
|
budget_mxn: 16800
|
|
story_points: 42
|
|
status: completed
|
|
|
|
# NOTA: US-ADM-003 (Dashboard Maestro, 8 SP) fue movida a EXT-001 como US-PM-000
|
|
# Ya que pertenece al alcance v2 (Portal Maestros) y no al alcance inicial v1
|
|
# EAI-005 ahora contiene 6 User Stories: US-ADM-001, US-ADM-002, US-ADM-004, US-ADM-005, US-ADM-006, US-ADM-007
|
|
|
|
implementation:
|
|
database:
|
|
schemas: [admin_dashboard, auth_management]
|
|
|
|
backend:
|
|
module: admin
|
|
path: apps/backend/src/modules/admin/
|
|
|
|
services:
|
|
- name: admin-dashboard.service.ts
|
|
path: apps/backend/src/modules/admin/services/admin-dashboard.service.ts
|
|
description: Servicio de dashboard administrativo
|
|
implemented: 2025-11-23
|
|
methods:
|
|
- getRecentActions()
|
|
- getAlerts()
|
|
- getUserActivity()
|
|
|
|
controllers:
|
|
- name: admin-dashboard.controller.ts
|
|
path: apps/backend/src/modules/admin/controllers/admin-dashboard.controller.ts
|
|
description: Controlador de dashboard administrativo
|
|
implemented: 2025-11-23
|
|
|
|
endpoints:
|
|
dashboard:
|
|
- path: /admin/dashboard/actions/recent
|
|
method: GET
|
|
controller: AdminDashboardController
|
|
service: AdminDashboardService.getRecentActions()
|
|
dto_request: RecentActionsQueryDto (limit?: number)
|
|
dto_response: RecentActionDto[]
|
|
description: Returns recent admin actions from last 7 days
|
|
implemented: 2025-11-23
|
|
bug_fix: BUG-ADMIN-002
|
|
fields_response:
|
|
- id (string)
|
|
- action (string)
|
|
- actionType (string)
|
|
- adminId (string)
|
|
- adminName (string)
|
|
- targetType (string)
|
|
- targetId (string)
|
|
- details (object)
|
|
- timestamp (Date)
|
|
- success (boolean)
|
|
|
|
- path: /admin/dashboard/alerts
|
|
method: GET
|
|
controller: AdminDashboardController
|
|
service: AdminDashboardService.getAlerts()
|
|
dto_response: AlertDto[]
|
|
description: Returns active system alerts grouped by severity
|
|
implemented: 2025-11-23
|
|
bug_fix: BUG-ADMIN-003
|
|
fields_response:
|
|
- id (string)
|
|
- severity (string - info/warning/error/critical)
|
|
- title (string)
|
|
- message (string)
|
|
- details (object)
|
|
- timestamp (Date)
|
|
- acknowledged (boolean)
|
|
|
|
- path: /admin/dashboard/analytics/user-activity
|
|
method: GET
|
|
controller: AdminDashboardController
|
|
service: AdminDashboardService.getUserActivity()
|
|
dto_request: UserActivityQueryDto (startDate?: string, endDate?: string, groupBy?: string)
|
|
dto_response: UserActivityDto (dual format with tableData)
|
|
description: Returns user activity analytics for charting and tables
|
|
implemented: 2025-11-23
|
|
bug_fix: BUG-ADMIN-004
|
|
response_format: |
|
|
{
|
|
labels: string[], // Para gráficos
|
|
data: number[], // Para gráficos
|
|
tableData: Array<{ // Para tablas
|
|
date: string,
|
|
activeUsers: number,
|
|
newUsers: number,
|
|
sessions: number
|
|
}>
|
|
}
|
|
|
|
frontend:
|
|
features: [admin/dashboard, admin/users]
|
|
|
|
api_modules:
|
|
- name: adminAPI.ts
|
|
path: apps/frontend/src/lib/api/adminAPI.ts
|
|
description: Admin API client functions
|
|
implemented: 2025-11-23
|
|
functions:
|
|
- getRecentActions(limit?: number)
|
|
- getAlerts()
|
|
- getUserActivity(params?: UserActivityQuery)
|
|
- getMayaRanks()
|
|
|
|
hooks:
|
|
- name: useAdminDashboard.ts
|
|
path: apps/frontend/src/apps/admin/hooks/useAdminDashboard.ts
|
|
description: React Query hook for admin dashboard data
|
|
technology: React Query v5
|
|
implemented: 2025-11-23
|
|
related_adr: ADR-013 (React Query Adoption)
|
|
queries:
|
|
- recentActions (key: ['adminDashboard', 'recentActions'])
|
|
- alerts (key: ['adminDashboard', 'alerts'])
|
|
- userActivity (key: ['adminDashboard', 'userActivity'])
|
|
|
|
# ============================================================================
|
|
# TESTING
|
|
# ============================================================================
|
|
|
|
testing:
|
|
coverage:
|
|
overall: 15% # REAL (actualizado 2025-11-23)
|
|
backend: 18% # REAL (actualizado 2025-11-23)
|
|
frontend: 10% # REAL (actualizado 2025-11-23)
|
|
database: 0% # REAL (actualizado 2025-11-23)
|
|
meta_original: 88% # Estimación inicial del proyecto
|
|
gap_actual: -73% # Diferencia entre meta y realidad
|
|
ultima_medicion: "2025-11-23"
|
|
nota: |
|
|
Coverage REAL actualizado por Architecture-Analyst (2025-11-23).
|
|
Valores previos eran ESTIMACIONES optimistas del inicio del proyecto.
|
|
Módulo admin tiene tests parciales en algunos controllers.
|
|
Gap actual requiere plan de mejora (ver orchestration/roadmap/ROADMAP-TEST-COVERAGE.md).
|
|
Próxima medición: Mensual (Q1 2026).
|