Saltar a contenido

PROJECT_STATUS.md

Estado del Proyecto

Archivo vivo. Se sobreescribe al cierre de cada sesión. No se acumula.

Actualizado: 2026-06-27 (sesión 7 — Sprint 1 T4 mergeada: wizard de onboarding frontend)


Sprint actual

Campo Valor
Sprint 1
Tracker docs/sprints/SPRINT-01.md
Fase Sprint 1 EN_PROGRESO — T4 cerrada, T5 pendiente
Estado SPRINT_01_STATUS: EN_PROGRESO
Bloqueante Ninguno

PRs mergeados a main

PR Descripción
#1 Documentación fundacional real de Venuo ERP
#2 Decisiones DevOps y 4 ADRs previos al Sprint 0
#3 Fix sistema de memoria persistente entre sesiones
#4 Mejora sistema de trazabilidad y persistencia entre sesiones
#5 Dockerfiles backend y frontend — Sprint 0 Tarea 1
#6 docker-compose.yml completo con todos los servicios — Sprint 0 Tarea 2
#7 Proyecto Django + django-tenants + settings divididos — Sprint 0 Tarea 5
#8 Modelo Usuario + autenticación JWT + permisos base — Sprint 0 Tarea 6
#9 Estructura de apps + healthcheck + tests — Sprint 0 Tarea 7
#10 React + Vite + Tailwind + PWA shell + design system — Sprint 0 Tarea 8
#11 Auth segura JWT + httpOnly cookie + Login UI — Sprint 0 Tarea 9
#12 CI GitHub Actions + ruff + black + fix test mock — Sprint 0 Tarea 4
#13 Nginx prod config — Sprint 0 Tarea 3
#14 README de Venuo ERP (reemplaza README del kit)
#15 MkDocs Material — sitio de documentación
#16 app_suscripciones: Suscripcion + FeatureFlag + validacion — Sprint 1 T1
#18 app_empresas: wizard onboarding + CRUD Sucursal — Sprint 1 T2
#19 app_inventario: modelos base + APIs CRUD — Sprint 1 T3
#20 Frontend wizard onboarding + guards de ruta + 40 tests — Sprint 1 T4

Módulos implementados

  • [x] Docker — Dockerfile backend (378 MB) y frontend (74 MB)
  • [x] Docker Compose completo (8 servicios, red interna, healthchecks)
  • [x] Nginx dev config, backup GFS, .env.example, .gitignore
  • [x] Nginx prod config — SPA static, proxy Django, security headers, SSL-ready
  • [x] Proyecto Django base + django-tenants + settings por entorno
  • [x] Empresa (TenantMixin) + Dominio (DomainMixin) + onboarding (PENDIENTE→WIZARD_COMPLETADO→ACTIVO)
  • [x] Usuario custom (AbstractBaseUser, email como USERNAME_FIELD)
  • [x] Sucursal + UsuarioEmpresaSucursal + clase Rol con 6 roles
  • [x] CRUD SucursalGET/POST /api/empresas/sucursales/, soft-delete
  • [x] Wizard onboarding — GET/POST /api/empresas/onboarding/
  • [x] Auth segura: refresh en cookie httpOnly, access en memoria Zustand
  • [x] POST /api/auth/token/ — login (cookie httpOnly)
  • [x] POST /api/auth/token/refresh/ — refresh desde cookie
  • [x] POST /api/auth/token/logout/ — blacklist + borra cookie
  • [x] GET /api/auth/me/ — datos del usuario autenticado
  • [x] Permisos base en core_api/permissions.py (IsSuperAdmin, HasTenantAccess, roles)
  • [x] Suscripcion + FeatureFlagGET /api/suscripciones/mi-plan/
  • [x] RequireFeature(feature_name) — factory de DRF Permission class para feature flags
  • [x] Categoria, PlantillaRubro, AtributoConfig — CRUD en app_inventario
  • [x] Producto con JSONB especificaciones + índice GIN — CRUD con soft-delete
  • [x] StockSucursalGET /api/inventario/stock/, ajuste manual
  • [x] seed_plantilla_rubro() — activa tenant al finalizar onboarding
  • [x] validar_especificaciones() — ningún atributo libre sin declarar en PlantillaRubro
  • [x] 68 tests backend pasando — CI valida en cada PR, 0 regresiones
  • [x] Frontend shell: React + Vite + Tailwind + PWA + design system
  • [x] Auth frontend: authStore Zustand, api.ts axios con refresh automático, LoginPage, rutas protegidas
  • [x] Wizard onboarding frontend — 3 pasos, guards de ruta, estadoOnboarding en store
  • [x] 40 tests frontend — vitest + @testing-library (store, API, página completa)
  • [x] CI — GitHub Actions: lint + tests + type-check + build en cada PR
  • [x] README de Venuo ERP
  • [x] MkDocs Material — sitio de documentación en https://venuo-6cm.pages.dev

Último sprint cerrado

Sprint Tag Fecha cierre
Sprint 0 — Cimientos sprint-00 2026-06-26