Monorepo · mono-happnest · Mayo 2026

Happnest Docs

Estado, arquitectura y documentación funcional de los paquetes del monorepo. Cada sección refleja el estado real del código — no aspiraciones.

7 paquetes
3 secciones documentadas
client design system completo
1/6 enterprise design system

Paquetes

7 en total
⚙️
@happnest/backend
API REST · consumida por todos los paquetes
Rewrite completo

API Node.js + Express con PostgreSQL. Gestiona auth, empresas, roles, hoteles, experiencias, tareas y webcheckin. Access-control rewrite completo — nuevo modelo uniforme de roles/módulos, 65+ tests.

Node.js Express PostgreSQL Jest TypeScript
Auth middleware · roles · companies · setup 65+ tests
Experiences · Webcheckin · Tasks migrados
Image Storage · local-upload · 12 folders documentado
Super admin endpoints · Integration tests completo
🌿
@happnest/client
App de reservas para huéspedes
Shippeado

App facing del huésped. Reservas, experiencias, check-in flow. Off-white, deep teal, Fraunces + Manrope. Design system completo — tokens, primitivas propias, temas por hotel via [data-theme].

Next.js Framer Motion i18n
Design system (Steps 1–9) completo
UI primitives — Button · Card · Modal · Badge · Chip · Avatar · Skeleton · Toast · BottomSheet 9 componentes
Flujos y pantallas (experiencias, checkout, dashboard) documentado
@happnest/webcheckin
Check-in online para huéspedes
Shipped

Check-in online del huésped antes de llegar al hotel: asistente de 2 pasos, multi-tenant por hotel. Design system migrado a tokens; flujo de usuario y personas documentados.

Next.js CSS Tokens Playwright
🔐
@happnest/admin
Portal super admin (equipo Happnest)
Interno

Panel exclusivo del operador de plataforma. Gestión de empresas, hoteles globales, usuarios, check-in requests, experiencias y analítica.

Next.js Firebase Auth
Documentación pendiente próximamente
🧩
@happnest/core
Librería de componentes compartidos
Refactor

~54 componentes React usados por enterprise, client y webcheckin. En refactor para leer tokens vía contrato CSS-variable. Button, Card, Modal, Input…

React Tailwind CSS vars
🚀
@happnest/landing
Web de marketing
Marketing

Página de marketing de Happnest. Presentación de producto, captación de clientes y onboarding.

Next.js
Documentación pendiente próximamente
Completado / documentado
En progreso
Planificado

Design Systems

sección existente

Documentación visual de tokens, tipografía, colores y componentes para los cuatro paquetes front-end. Generada durante la fase de design system (Feb–May 2026).

📐 Overview Los 4 sistemas de un vistazo 🧩 core Tokens y plan de refactor 🌿 client Paleta teal, Fraunces + Manrope webcheckin Shipped · runtime-branded 🏨 enterprise Swiss bold, Space Grotesk

Recursos y Ejemplos

6 archivos

Documentos de prueba y recursos adicionales generados para el proyecto.

📊 50 Experiencias (Mallorca) Test de reservas, combos y precios 🏖️ 10 Experiencias (Ibiza) Documento corto con ejemplos de Ibiza 🌆 100 Experiencias (Madrid) Set grande generado dinámicamente 👤 10 Usuarios Muestra pequeña de usuarios 👥 100 Usuarios Lista realista de trabajadores y clientes 🧑‍🤝‍🧑 300 Usuarios Archivo masivo para pruebas de carga

Tareas del proyecto

cargando…

Estado real del trabajo pendiente. Los checks se guardan en el navegador (localStorage).

0 / 0 hechas
0%
🧹 Cleanup · deuda técnica
Cleanup 7.7 — drop columna users.role VARCHAR legacy
backend baja Requiere que todo el JWT migre a isSuperAdmin. Follow-up PR.
Migrar impersonation.controller.ts de auth.tsauth.middleware.ts
backend media Último controlador que lee req.user.role del JWT legacy.
🧪 Tests · regressions
Fix storage.controller.test.ts — 7 tests fallando
tests backend alta Mock de fileExists/getSignedReadUrl no coincide con firma actual (extra argumento bucket).
Fix checkin-requests.controller.test.ts — 6 tests fallando
tests backend alta Test usa ID "checkin-789" (ni UUID ni short code) — validación del controlador retorna 400 antes del query.
Añadir e2e tests para flujos de usuario en Enterprise (Playwright)
tests frontend media Login, creación de usuario, asignación de rol, cambio de módulo.
🎨 Design · pantallas Pencil
Pantalla Hotels Management — Pencil (pencil-new.pen)
design alta Siguiente en la lista. Swiss Clean Expressive. 4/8 pendientes.
Pantalla Tasks Management — Pencil
design media
Pantalla Settings — Pencil
design media
Pantalla Experiences / Check-ins — Pencil
design media
Pantalla User Profile — Pencil
design baja
📱 Webcheckin
Ofuscación QR: Definir formato del token (ej. base64url de {id + timestamp + HMAC})
frontend alta
Ofuscación QR: Endpoint/verificación local que resuelva el token hacia el ID interno
backend alta
Ofuscación QR: Regenerar el código QR con el nuevo formato
frontend alta
Ofuscación QR: Documentar estrategia de rotación / expiración (en README o docs/)
docs alta
🏨 Enterprise · frontend
Mejorar mensajes de error con mensajes granulares (validación)
frontend media
Documentar páginas de Super Admin (/super-admin/*) en docs
frontend baja Actualizar enterprise/index.html con flujo y screenshots de super admin.
Añadir tests de validación de formularios (edge cases — campos vacíos, chars especiales)
frontend tests baja
🏨 Enterprise · design system (auditoría → tokens standalone)
Step 1 — Auditoría baseline (.audit.md: 1 932 leaks, 30+ archivos core, mapa de reemplazos)
frontend design alta
Step 2 — Tailwind config standalone (eliminar presets: [coreConfig], mapear tokens enterprise)
frontend alta Desacoplar config de @happnest/core para que enterprise tenga Tailwind propio.
Step 3 — Eliminar @pamaconu/core/styles/globals.css de layout.tsx
frontend alta
Step 4 — Primitivas enterprise propias con tests TDD: EnterpriseSpinner · Card · Button · Input · Select · TextArea · Badge · Modal · SidePanel · EmptyState
frontend tests alta Responden a --primary (overrideable por SystemBrandingInjector).
Step 5 — Reemplazar imports visuales de core en 30+ archivos (CustomSpinner × 33, Card × 19, Button × 12…)
frontend media CoreIcon + HappnestBrandmark se quedan como follow-up.
Step 6 — Token sweep: reemplazar 1 932 literales Tailwind (bg-white → bg-card, text-gray-* → text-foreground…)
frontend media Atacar por archivo de mayor a menor (experiences/[id]/page.tsx: 81, checkins: 67…).
🧩 Core · design system refactor
Completar contrato CSS-variable en todos los componentes de @happnest/core
core media Button, Card, Modal, Input, Select migrados. Quedan: Table, Drawer, Tabs, etc.
Publicar Storybook local con todos los componentes de core
core baja
No hay tareas que coincidan con los filtros activos.

Las tareas añadidas aquí se guardan en tu navegador.