Marco Gallegos c220e7f30f Fix: Remove entire env block from next.config.js
- Remove Next.js env block to prevent build errors
- NEXT_PUBLIC_* variables are automatically injected by Coolify at runtime
- Fixes: env.NEXT_PUBLIC_SUPABASE_URL is missing error
2026-01-18 16:22:00 -06:00
2026-01-18 15:08:17 -06:00

🥂 AnchorOS

Exclusive Studio Management & CRM Engine
Codename: Adela Repositorio principal del sistema AnchorOS.

Este README es la puerta de entrada técnica al proyecto. Define qué es este repositorio, cómo se estructura y cómo debe ser utilizado por desarrollo, producto y operación.


1. ¿Qué es AnchorOS?

AnchorOS es un sistema propietario de gestión operativa y CRM diseñado para estudios de belleza de alta exclusividad. No es una agenda genérica: coordina personas, recursos físicos, pagos, privilegios y datos bajo reglas estrictas de control y privacidad.

El sistema está diseñado para:

  • Optimizar el uso de estaciones físicas.
  • Proteger la base de datos de clientes.
  • Controlar el crecimiento mediante invitaciones.
  • Garantizar rentabilidad en días de alta demanda.
  • Facilitar la operativa mediante kioskos de autoservicio.

2. Alcance de este Repositorio

Este repositorio contiene:

  • anchor23.mx - Frontend institucional (landing page + páginas informativas)
  • The Boutique - Frontend de reserva para clientas (booking.anchor23.mx)
  • The HQ - Dashboard administrativo y CRM interno
  • The Kiosk - Sistema de autoservicio en pantalla táctil
  • Lógica de negocio de agendamiento y disponibilidad
  • Integraciones externas (Stripe, Google Calendar, WhatsApp)
  • Esquema base de datos y políticas de seguridad

No contiene:

  • Material de marketing digital.
  • Operación manual del salón.
  • Datos productivos.

3. Documentación Oficial

Este proyecto se rige por los siguientes documentos:

Documentos Principales (Raíz)

  • README.md (este archivo) → Guía técnica y operativa del repo.
  • TASKS.md → Plan de ejecución por fases y estado actual.

Documentación Especializada (docs/)

El PRD es la fuente de verdad funcional. El README es la guía de ejecución.


4. Arquitectura General

Dominios

  • anchor23.mx - Frontend institucional (landing page + páginas informativas)
  • booking.anchor23.mx - Frontend de reservas (The Boutique) - En Progreso 90%
  • kiosk.anchor23.mx - Sistema de autoservicio (The Kiosk)
  • aperture.anchor23.mx - Dashboard administrativo y CRM (The HQ) - 0% completado (redefinido)
  • api.anchor23.mx - API pública para integraciones externas

Experiencias

  • The Boutique: Frontend de reserva para clientas.
  • The HQ (Aperture): Dashboard administrativo y CRM interno con 6 pantallas principales.
  • The Kiosk: Sistema de autoservicio en pantalla táctil para confirmación de citas y walk-ins.

Principios

  • Security by Design.
  • Exclusividad curada.
  • Optimización de activos.
  • Marca primero, sistema después.

5. Stack Tecnológico

  • Frontend: Next.js 14 (App Router)
  • UI / Estilos: Tailwind CSS + Radix UI + Square UI custom styling
  • Backend: Supabase (PostgreSQL + Auth + RLS)
  • Pagos: Stripe SDK
  • Calendario: Google Calendar API v3 (Service Account)
  • Notificaciones: WhatsApp API (Twilio / Meta)
  • Storage: Supabase Storage (Buckets privados)

6. Estructura del Proyecto

/anchoros
├── app/                          # Next.js App Router
│   ├── (anchor23)/               # anchor23.mx - Frontend institucional
│   │   ├── page.tsx              # Landing page
│   │   ├── servicios/             # Página de servicios
│   │   ├── historia/              # Página de historia/filosofía
│   │   ├── contacto/              # Formulario de contacto
│   │   ├── franchises/           # Información de franquicias
│   │   ├── membresias/            # Membresías (Gold, Black, VIP)
│   │   ├── privacy-policy/        # Política de privacidad
│   │   └── legal/                # Términos y condiciones
│   ├── boutique/                  # booking.anchor23.mx - Frontend de reservas
│   │   ├── servicios/             # Selección de servicios
│   │   ├── cita/                 # Confirmación de reserva
│   │   └── confirmacion/          # Confirmación de reserva (pendiente)
│   ├── aperture/                   # aperture.anchor23.mx - Dashboard administrativo
│   │   ├── page.tsx                # Dashboard Home
│   │   ├── calendar/
│   │   │   └── page.tsx            # Calendario Maestro
│   │   ├── staff/
│   │   │   ├── page.tsx            # Gestión de Staff
│   │   │   └── payroll/
│   │   │       └── page.tsx        # Cálculo de Nómina
│   │   ├── clients/
│   │   │   ├── page.tsx            # CRM de Clientes
│   │   │   ├── [id]/
│   │   │   │   └── page.tsx        # Perfil de Cliente
│   │   │   └── gallery/
│   │   │       └── page.tsx        # Galería de Fotos
│   │   ├── loyalty/
│   │   │   ├── page.tsx            # Sistema de Puntos
│   │   │   ├── memberships/
│   │   │   │   └── page.tsx        # Membresías
│   │   │   └── rewards/
│   │   │       └── page.tsx        # Recompensas
│   │   ├── pos/
│   │   │   ├── page.tsx            # Punto de Venta
│   │   │   └── checkout/
│   │   │       └── page.tsx        # Procesar cobro
│   │   ├── finance/
│   │   │   ├── page.tsx            # Finanzas
│   │   │   └── close-day/
│   │   │       └── page.tsx        # Cierre de Caja
│   │   └── admin/
│   │       └── settings/
│   │           └── page.tsx        # Marketing y Configuración
│   ├── hq/                         # Dashboard administrativo (antiguo, será reemplazado)
│   ├── kiosk/                    # kiosk.anchor23.mx - Sistema de autoservicio
│   └── api/                      # API routes
│       ├── kiosk/                 # Endpoints para kiosko
│       ├── bookings/               # Gestión de reservas
│       ├── services/               # API para obtener servicios
│       ├── locations/              # API para obtener ubicaciones
│       ├── availability/           # Sistema de disponibilidad
│       └── admin/                 # Endpoints administrativos
├── components/                    # Componentes UI reutilizables
│   ├── kiosk/                    # Componentes del sistema de kiosko
│   └── ui/                       # Componentes base (Button, Input, Card, etc.)
├── lib/                           # Lógica de negocio y helpers
│   ├── db/                        # Tipos TypeScript del esquema
│   └── utils/                     # Utilidades (short-id, etc.)
├── supabase/
│   └── migrations/                # Migraciones SQL versionadas
├── integrations/                   # Stripe, Google, WhatsApp
├── styles/             # Configuración Tailwind
└── docs/               # Documentación adicional
    ├── DOMAIN_CONFIGURATION.md    # Configuración de dominios y subdominios
    ├── KIOSK_SYSTEM.md           # Documentación completa del kiosko
    ├── KIOSK_IMPLEMENTATION.md   # Guía rápida de implementación
    └── RESOURCES_UPDATE.md      # Documentación de actualización de recursos

7. Requisitos de Entorno

  • Node.js 20+ (actualizado para compatibilidad con Supabase)
  • Cuenta Supabase
  • Cuenta Stripe
  • Proyecto Google Cloud (Calendar API)
  • Credenciales WhatsApp API

Variables de entorno obligatorias:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=

# Stripe
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

# Google Calendar
GOOGLE_SERVICE_ACCOUNT_JSON=

# WhatsApp
WHATSAPP_API_KEY=

# Kiosko (opcional - para modo kiosko)
NEXT_PUBLIC_KIOSK_API_KEY=

8. Setup Local

  1. Clonar el repositorio
git clone <repo-url>
cd anchoros
  1. Instalar dependencias
npm install
  1. Configurar variables de entorno
  • Crear .env.local.
  1. Levantar entorno local
npm run dev

El sitio estará disponible en http://localhost:2311


9. Convenciones de Desarrollo

  • El PRD define la lógica: no se improvisa comportamiento.
  • Toda regla crítica debe vivir en backend.
  • RLS obligatorio en todas las tablas sensibles.
  • El frontend nunca expone datos privados del cliente.
  • Cambios de alcance requieren actualización del PRD.

10. Estado del Proyecto

Completado

  • Esquema de base de datos completo
  • Sistema de roles y permisos RLS
  • Generadores de Short ID y códigos de invitación
  • Sistema de kiosko completo con enrollment
  • API routes para kiosko
  • Componentes UI para kiosko
  • Actualización de recursos con códigos estandarizados
  • Audit logging completo
  • Tiers de cliente extendidos (free, gold, black, VIP)
  • Sistema de disponibilidad (staff, recursos, bloques)
  • API routes de disponibilidad
  • API de reservas para clientes (POST/GET)
  • HQ Dashboard completo (Aperture) - Calendario drag&drop, gestión staff/recursos
  • API routes completas para Aperture (40+ endpoints con CRUD y validaciones)
  • Calendario multi-columna con tiempo real y reprogramación automática
  • Gestión operativa completa (staff CRUD, recursos con disponibilidad)
  • Frontend institucional anchor23.mx completo (5 páginas principales)
  • COMENTARIOS AUDITABLES: 80+ archivos con JSDoc para auditoría manual
  • SEGURIDAD: RLS policies y validaciones documentadas en todo el código
    • Landing page con hero, fundamento, servicios, testimoniales
    • Página de servicios
    • Página de historia y filosofía
    • Página de contacto
    • Página de franquicias
    • Página de membresías (Gold, Black, VIP)
    • Páginas legales (Privacy Policy, Legal)
    • Header y footer globales

En Progreso 🚧

  • 🚧 The Boutique - Frontend de reservas (booking.anchor23.mx) - 90%

    • Página de selección de servicios (/booking/servicios)
    • Página de búsqueda de clientes (/booking/cita - paso 1)
    • Página de registro de clientes (/booking/registro)
    • Página de confirmación de reserva (/booking/cita - pasos 2-3)
    • Página de confirmación por código (/booking/confirmacion)
    • Layout específico con navbar personalizado
    • API para obtener servicios (/api/services)
    • API para obtener ubicaciones (/api/locations)
    • API para buscar clientes (/api/customers - GET)
    • API para registrar clientes (/api/customers - POST)
    • Sistema de horarios de negocio por ubicación
    • Componente de pagos mock para pruebas
    • Configuración de dominios wildcard en producción
    • Integración con Stripe real (webhooks)
  • 🚧 Aperture - Dashboard administrativo (aperture.anchor23.mx) - 95%

    • APIs completas para staff, recursos, calendario, dashboard
    • Calendario multi-columna con drag & drop y tiempo real
    • Gestión CRUD completa de staff y recursos
    • Componentes con Square UI design
    • Autenticación completa con middleware de protección
    • Comentarios auditables en todo el código
    • Sistema de nómina y comisiones (próxima semana)
    • POS completo con múltiples métodos de pago
    • CRM avanzado con fidelización
  • 🚧 Lógica de no-show y penalizaciones automáticas

  • 🚧 Integración con Google Calendar (20% - en progreso)

Pendiente

  • Implementar API pública (api.anchor23.mx)
  • Completar Aperture con estilo Square UI (calendario multi-columna, páginas individuales, The Vault)
  • Notificaciones por WhatsApp
  • Recibos digitales por email
  • Landing page para believers (booking público)
  • Tests unitarios
  • Archivos SEO (robots.txt, sitemap.xml)

Correcciones Recientes (Enero 2026)

  • Cliente Supabase Mejorado: Inicialización lazy con validación de variables de entorno
  • APIs con Diagnóstico Avanzado: Logging detallado en /api/services y /api/locations
  • Compatibilidad Node.js: Actualización a Node 20 para compatibilidad con Supabase
  • Solución "fetch failed": Corrección del error de conectividad con Supabase en producción
  • Dockerfile Optimizado: Imagen de producción con Node 20 y configuraciones mejoradas

Fase Actual

Fase 1 — Cimientos y CRM: 100% completado

  • Infraestructura base: 100%
  • Esquema de base de datos: 100%
  • Short ID & Invitaciones: 100%
  • CRM Base: 100%
  • Sistema de Kiosko: 100%
  • Actualización de Recursos: 100%
  • Sistema de Disponibilidad: 100%
  • Frontend Institucional: 100%

Fase 2 — Motor de Agendamiento: 80% completado

  • Disponibilidad dual capa: 100%
  • API de reservas: 100%
  • The Boutique: 90% (frontend completo, autenticación y pagos parcialmente implementados)
  • Integración Pagos (Stripe): 90% (depósitos implementados, webhooks pendientes)
  • Integración Calendar: 20% (en progreso)
  • Aperture Backend: 100%

Fase 3 — Pagos y Protección: 70% completado

  • Stripe depósitos dinámicos: 100%
  • No-show logic: 40% (lógica implementada, automatización pendiente)

Fase 4 — HQ Dashboard (APERTURE): 95% EN PROGRESO

  • Dashboard Home (KPI Cards, Top Performers, Activity Feed completos)
  • Calendario Maestro (Drag & Drop, filtros, tiempo real, conflictos)
  • Gestión de Staff (CRUD completo con APIs y componentes)
  • Gestión de Recursos (CRUD con disponibilidad en tiempo real)
  • Autenticación completa con middleware de protección
  • Comentarios auditables en todo el código (80+ archivos)
  • Nómina y comisiones (próxima semana)
  • POS completo con múltiples métodos de pago
  • CRM avanzado con fidelización
  • Pendiente implementación completa

Fase 5 — Automatización y Lanzamiento: 5% completado

  • Notificaciones WhatsApp: 0% (variables configuradas, no implementado)
  • Recibos digitales: 0% (pendiente)
  • Landing page Believers: 0% (pendiente)

Advertencia: No apto para producción. Migraciones y seeds en evolución.


11. Aperture - HQ Dashboard

Aperture (aperture.anchor23.mx) es el dashboard administrativo y CRM interno de AnchorOS. Diseñado con estilo Square UI y construido con Radix UI + Tailwind CSS.

Especificaciones Técnicas

Plan de Implementación

El plan completo de 7 fases está documentado en TASKS.md con:

  • Tiempos estimados: ~136-171 horas (~17-21 días hábiles)
  • Estructura detallada de cada fase
  • Sprint structure recomendado

Pantallas Principales

1. Dashboard Home (Vista Pájaro)

  • KPI Cards (4): Ventas Totales, Comparativa Semanal, Citas Totales, Nuevos Clientes
  • Gráfico de Rendimiento (líneas/áreas suaves)
  • Tabla "Top Performers" (Staff y Servicios)
  • Feed de Actividad Reciente (scroll infinito)

2. Calendario Maestro (Agenda Dinámica)

  • Estructura: Columnas por trabajador, filas por bloques de 15/30 min
  • Drag & Drop (mover entre horas y trabajadores)
  • Resize de bloques (incrementos de 15 min)
  • Filtros dinámicos (Sucursal, Staff)
  • Indicadores visuales (línea tiempo actual, bloqueos, tooltips)

3. Miembros del Equipo y Nómina

  • Gestión de Staff (CRUD con foto, rating, toggle activo)
  • Configuración de Comisiones (% por servicio y producto)
  • Cálculo de Nómina (Sueldo Base + Comisiones + Propinas)
  • Calendario de Turnos (vista semanal)

4. Clientes y Fidelización (Loyalty)

  • CRM de Clientes (búsqueda fonética, histórico, notas técnicas)
  • Galería de Fotos (SOLO VIP/Black/Gold) - Good to have: control de calidad
  • Sistema de Membresías (planes, créditos)
  • Sistema de Puntos (independiente de tiers, expiran después de X meses)

5. Ventas, Pagos y Facturación

  • POS (Punto de Venta) completo (puede crear nuevas citas + procesar pagos)
  • Opciones de pago: Efectivo, Transferencia, Membership, Tarjeta, Giftcard, PIA
  • NO imprimir recibos (enviar email o dashboard cliente)
  • Cierre de Caja (resumen diario, PDF automático)
  • Finanzas (gastos, margen neto)

6. Marketing y Configuración

  • Campañas (promociones masivas Email/WhatsApp)
  • Precios Inteligentes (configurables por servicio, aplicables ambos canales)
  • Integraciones Placeholder (Google, Instagram/FB Shopping) - Good to have, no priority

12. Deployment y Producción

Requisitos para Producción

  • VPS o cloud provider (Vercel recomendado para Next.js)
  • Base de datos Supabase production
  • Configuración de dominios wildcard (*.anchor23.mx)
  • SSL certificates automáticos
  • Monitoring y logging (Sentry recomendado)

Variables de Entorno de Producción

Además de las variables locales, configurar:

# Producción
NEXT_PUBLIC_APP_URL=https://anchor23.mx
NEXT_PUBLIC_BOOKING_URL=https://booking.anchor23.mx
NEXT_PUBLIC_KIOSK_URL=https://kiosk.anchor23.mx
NEXT_PUBLIC_APERTURE_URL=https://aperture.anchor23.mx

# Webhooks Stripe
STRIPE_WEBHOOK_ENDPOINT_SECRET=

# Google Calendar (opcional para producción)
GOOGLE_CALENDAR_ID=

Pasos de Deployment

  1. Configurar Supabase production con RLS habilitado
  2. Ejecutar migraciones: supabase db push
  3. Configurar dominios y SSL
  4. Desplegar en Vercel con build settings personalizados
  5. Configurar webhooks de Stripe para pagos
  6. Probar autenticación y bookings end-to-end

Monitoreo

  • Logs de Supabase para queries lentas
  • Alertas de Stripe para fallos de pago
  • Uptime monitoring para dominios críticos

12. anchor23.mx - Frontend Institucional

Dominio institucional. Contenido estático, marca, narrativa y conversión inicial.

Arquitectura de Dominios

  • anchor23.mx - Frontend institucional (landing page + páginas informativas)
  • booking.anchor23.mx - The Boutique (frontend de reservas) - En Progreso 20%
  • kiosk.anchor23.mx - The Kiosk (pantallas táctiles)

Páginas Implementadas

anchor23.mx

  • / - Landing page (Hero, Fundamento, Servicios Preview, Testimonios)
  • /servicios - Grid de servicios con descripciones
  • /historia - Historia, filosofía y significado de la marca
  • /contacto - Formulario de contacto con información
  • /franquicias - Modelo de franquicias con solicitud
  • /membresias - 3 tiers (Gold, Black, VIP) con solicitudes
  • /privacy-policy - Política de privacidad completa
  • /legal - Términos y condiciones

booking.anchor23.mx

  • /booking/servicios - Página de selección de servicios con calendario
  • /booking/cita - Flujo de reserva en pasos:
    1. Búsqueda de cliente por email/telefono
    2. Confirmación de datos personales
    3. Pago del depósito (mock actualmente)
  • /booking/registro - Registro de nuevos clientes con:
    • Nombre y apellido
    • Email y teléfono
    • Fecha de nacimiento
    • Ocupación (lista desplegable)
  • /booking/login - Autenticación con magic links
  • /booking/perfil - Perfil de cliente con historial de citas
  • /booking/mis-citas - Gestión de citas

aperture.anchor23.mx (Pendiente implementación completa - Plan 0%)

  • /aperture - Dashboard Home con:
    • KPI Cards (Ventas, Citas, Clientes, Gráfico)
    • Gráfico de Rendimiento (líneas/áreas suaves)
    • Tabla "Top Performers" (Staff y Servicios)
    • Feed de Actividad Reciente (scroll infinito)
  • /aperture/calendar - Calendario Maestro con:
    • Columnas por trabajador, filas por bloques de 15/30 min
    • Drag & Drop (mover entre horas y trabajadores)
    • Resize de bloques (incrementos de 15 min)
    • Filtros dinámicos (Sucursal, Staff)
    • Indicadores visuales (línea tiempo actual, bloqueos, tooltips)
  • /aperture/staff - Gestión de Staff con:
    • Cards por trabajador (foto, puesto, rating, toggle activo)
    • CRUD completo
    • Configuración de Comisiones (% por servicio y producto)
    • Calendario de Turnos (vista semanal)
  • /aperture/staff/payroll - Cálculo de Nómina:
    • Tabla: Nombre | Sueldo Base | Comisiones Servicios | Comisiones Productos | Propinas | Total a Pagar
    • Exportar a Excel/CSV/PDF
  • /aperture/clients - CRM de Clientes:
    • Tabla con búsqueda fonética
    • Perfil completo de cliente (personal_data, bookings_history, purchases_history, notes)
    • Notas técnicas ("Alérgica a tal marca", "Prefiere café")
  • /aperture/clients/[id] - Perfil de Cliente:
    • Historial de citas y compras
    • Galería de fotos (SOLO VIP/Black/Gold)
    • Membresías y créditos
  • /aperture/clients/[id]/gallery - Galería de Fotos:
    • SOLO para clientes VIP/Black/Gold
    • Good to have: control de calidad, rastreabilidad de quejas
  • /aperture/loyalty - Sistema de Fidelización:
    • Configuración de reglas (100 MXN = 1 Punto)
    • Listado de recompensas canjeables
  • /aperture/loyalty/memberships - Sistema de Membresías:
    • Creación de planes ("Plan VIP 4 Manicuras al mes")
    • Control de "créditos" restantes en el perfil
  • /aperture/loyalty/rewards - Recompensas Canjeables
  • /aperture/loyalty/points/[client_id] - Puntos del cliente
  • /aperture/pos - Punto de Venta (POS):
    • Interfaz táctil optimizada
    • Selección de servicios/productos
    • Categorías: Servicios, Productos de venta, Membresías, Giftcards
    • Opciones de pago: Efectivo, Transferencia, Membership, Tarjeta, Giftcard, PIA
    • Puede crear nuevas citas + procesar pagos
    • NO imprimir recibos (enviar email o dashboard cliente)
  • /aperture/pos/checkout - Procesar cobro
  • /aperture/finance - Finanzas:
    • Gestión de gastos (egresos: renta, insumos)
    • Cálculo de margen de beneficio neto
    • Reporte mensual
  • /aperture/finance/close-day - Cierre de Caja:
    • Resumen diario: efectivo, tarjeta, transferencias
    • Botón "Cerrar Día" genera reporte PDF automático
    • Múltiples cajeros con control de movimientos
  • /aperture/admin/settings - Marketing y Configuración:
    • Campañas (promociones masivas Email/WhatsApp)
    • Precios Inteligentes (reglas para horas pico/bajas)
    • Integraciones Placeholder (Google, Instagram/FB Shopping)
  • / - Landing page (Hero, Fundamento, Servicios Preview, Testimonios)
  • /servicios - Grid de servicios con descripciones
  • /historia - Historia, filosofía y significado de la marca
  • /contacto - Formulario de contacto con información
  • /franchises - Modelo de franquicias con solicitud
  • /membresias - 3 tiers (Gold, Black, VIP) con solicitudes
  • /privacy-policy - Política de privacidad completa
  • /legal - Términos y condiciones

booking.anchor23.mx

  • /booking/servicios - Página de selección de servicios con calendario
  • /booking/cita - Flujo de reserva en pasos:
    1. Búsqueda de cliente por email/telefono
    2. Confirmación de datos personales
    3. Pago del depósito (mock actualmente)
  • /booking/registro - Registro de nuevos clientes con:
    • Nombre y apellido
    • Email y teléfono
    • Fecha de nacimiento
    • Ocupación (lista desplegable)
  • /booking/login - Autenticación con magic links
  • /booking/perfil - Perfil de cliente con historial de citas
  • /booking/mis-citas - Gestión de citas

Sistema de Horarios de Negocio

Cada ubicación tiene horarios de apertura personalizados por día de la semana almacenados en la columna business_hours (JSONB):

Formato de estructura:

{
  "monday": {"open": "10:00", "close": "19:00", "is_closed": false},
  "tuesday": {"open": "10:00", "close": "19:00", "is_closed": false},
  "wednesday": {"open": "10:00", "close": "19:00", "is_closed": false},
  "thursday": {"open": "10:00", "close": "19:00", "is_closed": false},
  "friday": {"open": "10:00", "close": "19:00", "is_closed": false},
  "saturday": {"open": "10:00", "close": "18:00", "is_closed": false},
  "sunday": {"is_closed": true}
}

Horarios por defecto (actualizados vía migración):

  • Lunes a Viernes: 10:00 AM - 7:00 PM
  • Sábado: 10:00 AM - 6:00 PM
  • Domingo: Cerrado

Implementación:

  • Función PostgreSQL get_detailed_availability() respeta horarios de cada día
  • Solo se muestran slots dentro del horario de apertura
  • Días marcados como is_closed: true no muestran disponibilidad
  • Los horarios se pueden personalizar por ubicación individualmente

aperture.anchor23.mx (Backend administrativo)

  • /aperture - Dashboard Home con KPI Cards, Gráfico, Top Performers, Activity Feed
  • /aperture/calendar - Calendario Maestro con Drag & Drop, Resize, Filtros dinámicos
  • /aperture/staff - Gestión de Staff (CRUD, Comisiones, Nómina, Turnos)
  • /aperture/clients - CRM de Clientes, Galería VIP, Membresías, Puntos
  • /aperture/pos - Punto de Venta (POS), Cierre de Caja, Finanzas
  • /aperture/admin - Marketing, Precios Inteligentes, Integraciones
  • Reportes: Ventas, Pagos, Nómina
  • Gestión de permisos por roles

kiosk.anchor23.mx

  • Sistema completo de kiosko con autenticación por API key

Tecnologías

  • Next.js 14 (App Router) con SSG
  • Tailwind CSS para estilos
  • Lucide React para iconos
  • HTML semántico

APIs

Ver documentación completa en API.md para todos los endpoints disponibles.

Principios de Diseño

  • HTML semántico
  • Secciones claras
  • Conversión silenciosa hacia booking.anchor23.mx
  • Booking y Kiosk desacoplados
  • Marca primero, sistema después
  • Arquitectura lista para escalar sin diluir exclusividad

Flujo de Conversión

  1. Landing page → Interés en servicios
  2. /servicios → Conocimiento de oferta
  3. /membresias → Solicitud de membresía
  4. CTA directo → booking.anchor23.mx (reserva)
  5. /franchises → Solicitud de franquicia

13. Sistema de Kiosko

El sistema de kiosko permite a los clientes interactuar con el salón mediante pantallas táctiles en la entrada.

Funcionalidades

  • Confirmación de Citas: Los clientes confirman su llegada ingresando el código de 6 caracteres (short_id)
  • Reservas Walk-in: Creación de reservas inmediatas para clientes sin cita previa
  • Asignación Inteligente de Recursos: Prioridad automática (mkup > lshs > pedi > mani)

Seguridad

  • Autenticación por API key de 64 caracteres
  • Políticas RLS restrictivas (sin acceso a PII de clientes)
  • Audit logging completo de todas las acciones

Documentación

  • Guía completa: docs/KIOSK_SYSTEM.md
  • Implementación rápida: docs/KIOSK_IMPLEMENTATION.md

Acceso al Kiosko

https://kiosk.anchor23.mx/{location-id}

14. Filosofía Operativa

AnchorOS no busca volumen.

Busca control, eficiencia y blindaje.

Este repositorio implementa esa filosofía a nivel de sistema.


15. Codename: Adela

AnchorOS se conoce internamente como Adela, un acrónimo que representa los pilares fundamentales del sistema:

  • Attention - Atención personalizada y detallada a cada cliente
  • Digital Engagement - Compromiso digital con la marca y servicios
  • Engagement Logistics - Logística de interacción eficiente
  • Logistics Analytics - Análisis de datos para optimización operativa
  • Analytics - Inteligencia de datos para decisiones estratégicas

Adela simboliza la transformación digital de los salones de belleza de alta gama, combinando lujo, tecnología y eficiencia operativa.


Proyecto: soul23

Description
No description provided
Readme 14 MiB
Languages
TypeScript 72.2%
PLpgSQL 18.5%
JavaScript 7.4%
CSS 1.3%
Shell 0.4%
Other 0.2%