diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..c1df76e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["next/core-web-vitals"] +} \ No newline at end of file diff --git a/API.md b/API.md index 7fb342e..ccb80d2 100644 --- a/API.md +++ b/API.md @@ -1,7 +1,7 @@ -# SalonOS API Documentation +# AnchorOS API Documentation ## Overview -SalonOS is a comprehensive salon management system built with Next.js, Supabase, and Stripe integration. +AnchorOS is a comprehensive salon management system built with Next.js, Supabase, and Stripe integration. ## Authentication - **Client Authentication**: Magic link via Supabase Auth diff --git a/PRD.md b/PRD.md index 634ccd1..804cb1b 100644 --- a/PRD.md +++ b/PRD.md @@ -1,8 +1,10 @@ -# PRD — SalonOS +# PRD — AnchorOS + +**Codename: Adela** ## 1. Objetivo -SalonOS es un sistema operativo para salones de belleza orientado a agenda, pagos, membresías e invitados, con reglas estrictas de tiempo, seguridad y automatización. +AnchorOS es un sistema operativo para salones de belleza orientado a agenda, pagos, membresías e invitados, con reglas estrictas de tiempo, seguridad y automatización. --- @@ -116,4 +118,4 @@ SalonOS es un sistema operativo para salones de belleza orientado a agenda, pago ## 9. Estado del Documento -Este PRD es la fuente única de verdad funcional del sistema SalonOS. +Este PRD es la fuente única de verdad funcional del sistema AnchorOS. diff --git a/README.md b/README.md index 24e283c..6258fb9 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@ -# 🥂 SalonOS +# 🥂 AnchorOS -**Exclusive Studio Management & CRM Engine** -Repositorio principal del sistema SalonOS. +**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 SalonOS? +## 1. ¿Qué es AnchorOS? -SalonOS 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. +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: @@ -92,7 +93,7 @@ El PRD es la fuente de verdad funcional. El README es la guía de ejecución. ## 6. Estructura del Proyecto ``` -/salonos +/anchoros ├── app/ # Next.js App Router │ ├── (anchor23)/ # anchor23.mx - Frontend institucional │ │ ├── page.tsx # Landing page @@ -173,7 +174,7 @@ NEXT_PUBLIC_KIOSK_API_KEY= ``` git clone -cd salonos +cd anchoros ``` 2. Instalar dependencias @@ -409,7 +410,7 @@ https://kiosk.anchor23.mx/{location-id} ## 14. Filosofía Operativa -SalonOS no busca volumen. +AnchorOS no busca volumen. Busca **control, eficiencia y blindaje**. @@ -417,4 +418,18 @@ 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: + +- **A**ttention - Atención personalizada y detallada a cada cliente +- **D**igital Engagement - Compromiso digital con la marca y servicios +- **E**ngagement Logistics - Logística de interacción eficiente +- **L**ogistics Analytics - Análisis de datos para optimización operativa +- **A**nalytics - 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 diff --git a/TASKS.md b/TASKS.md index 91b2416..3958c45 100644 --- a/TASKS.md +++ b/TASKS.md @@ -1,6 +1,6 @@ # TASKS.md — Plan de Ejecución por Fases -Este documento define las tareas ejecutables del proyecto **SalonOS**, alineadas estrictamente con el PRD. Ninguna tarea puede introducir lógica no documentada. +Este documento define las tareas ejecutables del proyecto **AnchorOS**, alineadas estrictamente con el PRD. Ninguna tarea puede introducir lógica no documentada. --- diff --git a/app/admin/README.md b/app/admin/README.md index ca1138a..b5cc57d 100644 --- a/app/admin/README.md +++ b/app/admin/README.md @@ -1,6 +1,6 @@ # Admin Enrollment System -Sistema de administración de usuarios y kiosks para SalonOS. +Sistema de administración de usuarios y kiosks para AnchorOS. ## Descripción diff --git a/app/franchises/page.tsx b/app/franchises/page.tsx index 143eab2..38ff783 100644 --- a/app/franchises/page.tsx +++ b/app/franchises/page.tsx @@ -30,7 +30,7 @@ export default function FranchisesPage() { const benefits = [ 'Modelo de negocio exclusivo y probado', 'Una sucursal por ciudad: saturación controlada', - 'Sistema operativo completo (SalonOS)', + 'Sistema operativo completo (AnchorOS)', 'Capacitación en estándares de lujo', 'Membresía de clientes como fuente recurrente', 'Soporte continuo y actualizaciones' diff --git a/app/kiosk/[locationId]/page.tsx b/app/kiosk/[locationId]/page.tsx index e64ff9e..51a3beb 100644 --- a/app/kiosk/[locationId]/page.tsx +++ b/app/kiosk/[locationId]/page.tsx @@ -234,7 +234,7 @@ export default function KioskPage({ params }: { params: { locationId: string } } diff --git a/docs/ANCHOR23_FRONTEND.md b/docs/ANCHOR23_FRONTEND.md index 7a75f50..86459c7 100644 --- a/docs/ANCHOR23_FRONTEND.md +++ b/docs/ANCHOR23_FRONTEND.md @@ -183,7 +183,7 @@ Grid de servicios con: 2. **Beneficios** - Modelo de negocio exclusivo - Una sucursal por ciudad - - Sistema operativo completo (SalonOS) + - Sistema operativo completo (AnchorOS) - Capacitación en estándares de lujo - Membresía como fuente recurrente - Soporte continuo diff --git a/docs/CLIENT_ONBOARDING.md b/docs/CLIENT_ONBOARDING.md index 6291bac..3863171 100644 --- a/docs/CLIENT_ONBOARDING.md +++ b/docs/CLIENT_ONBOARDING.md @@ -1,4 +1,4 @@ -# Guía de Onboarding para Clientes — SalonOS +# Guía de Onboarding para Clientes — AnchorOS Bienvenido a Anchor23. Esta guía te ayudará a familiarizarte con nuestros sistemas de reserva y servicios. diff --git a/docs/DOMAIN_CONFIGURATION.md b/docs/DOMAIN_CONFIGURATION.md index 5a26d35..dfa3322 100644 --- a/docs/DOMAIN_CONFIGURATION.md +++ b/docs/DOMAIN_CONFIGURATION.md @@ -2,7 +2,7 @@ ## Arquitectura de Dominios -El proyecto SalonOS está diseñado para funcionar con múltiples subdominios, cada uno con una función específica: +El proyecto AnchorOS está diseñado para funcionar con múltiples subdominios, cada uno con una función específica: | Subdominio | Función | Estado | URL de ejemplo | |-------------|----------|---------|----------------| @@ -267,8 +267,8 @@ El kiosko usa API keys de 64 caracteres para autenticación: ```bash # Clonar repositorio -git clone /var/www/salonos -cd /var/www/salonos +git clone /var/www/anchoros +cd /var/www/anchoros # Instalar dependencias npm install @@ -282,7 +282,7 @@ npm run build npm start # Configurar PM2 para proceso en segundo plano -pm2 start npm --name "salonos" -- start +pm2 start npm --name "anchoros" -- start pm2 save pm2 startup ``` diff --git a/docs/ENROLLMENT_SYSTEM.md b/docs/ENROLLMENT_SYSTEM.md index d8fd713..0c1a0f1 100644 --- a/docs/ENROLLMENT_SYSTEM.md +++ b/docs/ENROLLMENT_SYSTEM.md @@ -2,7 +2,7 @@ ## Resumen -El sistema de enrollment permite a los administradores agregar nuevos usuarios (staff, artists, managers) y kiosks al sistema SalonOS mediante una interfaz web segura. +El sistema de enrollment permite a los administradores agregar nuevos usuarios (staff, artists, managers) y kiosks al sistema AnchorOS mediante una interfaz web segura. --- diff --git a/docs/KIOSK_IMPLEMENTATION.md b/docs/KIOSK_IMPLEMENTATION.md index 665ae8b..1d4bf5f 100644 --- a/docs/KIOSK_IMPLEMENTATION.md +++ b/docs/KIOSK_IMPLEMENTATION.md @@ -77,13 +77,13 @@ https://tu-dominio.com/kiosk/{location-id} Ejemplo: ``` -https://salonos.example.com/kiosk/550e8400-e29b-41d4-a716-446655440000 +https://kiosk.anchor23.mx/550e8400-e29b-41d4-a716-446655440000 ``` ## Estructura de Archivos ``` -salonOS/ +AnchorOS/ ├── supabase/ │ └── migrations/ │ └── 20260116000000_add_kiosk_system.sql diff --git a/docs/KIOSK_SYSTEM.md b/docs/KIOSK_SYSTEM.md index 4c632ab..99e4d45 100644 --- a/docs/KIOSK_SYSTEM.md +++ b/docs/KIOSK_SYSTEM.md @@ -1,4 +1,4 @@ -# Sistema de Kiosko - SalonOS +# Sistema de Kiosko - AnchorOS ## Resumen diff --git a/docs/OPERATIONAL_PROCEDURES.md b/docs/OPERATIONAL_PROCEDURES.md index ad86bfa..142be16 100644 --- a/docs/OPERATIONAL_PROCEDURES.md +++ b/docs/OPERATIONAL_PROCEDURES.md @@ -1,6 +1,6 @@ -# Procedimientos Operativos — SalonOS +# Procedimientos Operativos — AnchorOS -Guía interna para operaciones diarias del salón usando el sistema SalonOS. +Guía interna para operaciones diarias del salón usando el sistema AnchorOS. ## Apertura Diaria diff --git a/docs/PROJECT_UPDATE_JAN_2026.md b/docs/PROJECT_UPDATE_JAN_2026.md index 883f526..7d8d523 100644 --- a/docs/PROJECT_UPDATE_JAN_2026.md +++ b/docs/PROJECT_UPDATE_JAN_2026.md @@ -2,7 +2,7 @@ ## Resumen Ejecutivo -Se ha completado el **Sistema de Kiosko** y la **Actualización de Recursos** del sistema SalonOS. Estos cambios representan una expansión significativa de las capacidades del sistema, mejorando la operativa del salón y la experiencia del cliente. +Se ha completado el **Sistema de Kiosko** y la **Actualización de Recursos** del sistema AnchorOS. Estos cambios representan una expansión significativa de las capacidades del sistema, mejorando la operativa del salón y la experiencia del cliente. --- @@ -330,7 +330,7 @@ README.md ## Conclusión -El sistema de kiosko y la actualización de recursos representan un avance significativo en las capacidades operativas de SalonOS. Estas mejoras preparan el sistema para una implementación en producción, optimizando tanto la experiencia del cliente como la eficiencia operativa del salón. +El sistema de kiosko y la actualización de recursos representan un avance significativo en las capacidades operativas de AnchorOS. Estas mejoras preparan el sistema para una implementación en producción, optimizando tanto la experiencia del cliente como la eficiencia operativa del salón. El proyecto está en un estado sólido (90% completado de Fase 1), con una infraestructura robusta y segura lista para el desarrollo de las fases restantes. diff --git a/docs/RESOURCES_UPDATE.md b/docs/RESOURCES_UPDATE.md index 62f2372..9fee973 100644 --- a/docs/RESOURCES_UPDATE.md +++ b/docs/RESOURCES_UPDATE.md @@ -1,4 +1,4 @@ -# Actualización de Recursos - SalonOS +# Actualización de Recursos - AnchorOS ## Cambios Realizados diff --git a/docs/STAFF_TRAINING.md b/docs/STAFF_TRAINING.md index d9e23a8..9741927 100644 --- a/docs/STAFF_TRAINING.md +++ b/docs/STAFF_TRAINING.md @@ -1,10 +1,10 @@ -# Guía de Entrenamiento para Staff — SalonOS +# Guía de Entrenamiento para Staff — AnchorOS -Esta guía está diseñada para capacitar al personal del salón en el uso del sistema SalonOS. +Esta guía está diseñada para capacitar al personal del salón en el uso del sistema AnchorOS. ## Introducción al Sistema -SalonOS es una plataforma integral de gestión que incluye: +AnchorOS es una plataforma integral de gestión que incluye: - Sistema de reservas (The Boutique) - Dashboard administrativo (Aperture) - Sistema de kiosko para autoservicio diff --git a/docs/TROUBLESHOOTING.md b/docs/TROUBLESHOOTING.md index 47d64b6..d36111a 100644 --- a/docs/TROUBLESHOOTING.md +++ b/docs/TROUBLESHOOTING.md @@ -1,6 +1,6 @@ -# Guía de Troubleshooting — SalonOS +# Guía de Troubleshooting — AnchorOS -Esta guía ayuda a resolver problemas comunes durante el setup y desarrollo de SalonOS. +Esta guía ayuda a resolver problemas comunes durante el setup y desarrollo de AnchorOS. ## Configuración de Entorno diff --git a/lib/db/types.ts b/lib/db/types.ts index 5aacc69..f299d8d 100644 --- a/lib/db/types.ts +++ b/lib/db/types.ts @@ -1,4 +1,4 @@ -// Types based on SalonOS database schema +// Types based on AnchorOS (Adela) database schema /** User roles in the system */ export type UserRole = 'admin' | 'manager' | 'staff' | 'artist' | 'customer' | 'kiosk' diff --git a/package-lock.json b/package-lock.json index 4b28e43..f6fa11c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "salonos", + "name": "anchoros", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "salonos", + "name": "anchoros", "version": "0.1.0", "dependencies": { "@hookform/resolvers": "^3.3.3", @@ -20,7 +20,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^3.0.6", - "date-fns-tz": "^2.0.0", + "date-fns-tz": "^3.2.0", "framer-motion": "^10.16.16", "lucide-react": "^0.303.0", "next": "14.0.4", @@ -1720,14 +1720,14 @@ "version": "15.7.15", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/react": { "version": "18.3.27", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -1738,7 +1738,7 @@ "version": "18.3.7", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "@types/react": "^18.0.0" @@ -2250,6 +2250,19 @@ "node": ">= 8" } }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -2884,7 +2897,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { @@ -2959,12 +2972,12 @@ } }, "node_modules/date-fns-tz": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-2.0.1.tgz", - "integrity": "sha512-fJCG3Pwx8HUoLhkepdsP7Z5RsucUi+ZBOxyM5d0ZZ6c4SdYustq0VMmOu6Wf7bli+yS/Jwp91TOCqn9jMcVrUA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.2.0.tgz", + "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==", "license": "MIT", "peerDependencies": { - "date-fns": "2.x" + "date-fns": "^3.0.0 || ^4.0.0" } }, "node_modules/debug": { @@ -5084,6 +5097,19 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5536,13 +5562,13 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -5947,6 +5973,19 @@ "node": ">=8.10.0" } }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -6695,19 +6734,6 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/package.json b/package.json index 1923ab6..8834d21 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "salonos", + "name": "anchoros", "version": "0.1.0", "private": true, "scripts": { @@ -29,7 +29,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^3.0.6", - "date-fns-tz": "^2.0.0", + "date-fns-tz": "^3.2.0", "framer-motion": "^10.16.16", "lucide-react": "^0.303.0", "next": "14.0.4", diff --git a/supabase/config.toml b/supabase/config.toml index a593eef..bd3d9c1 100644 --- a/supabase/config.toml +++ b/supabase/config.toml @@ -2,7 +2,7 @@ # https://supabase.com/docs/guides/local-development/cli/config # A string used to distinguish different Supabase projects on the same host. Defaults to the # working directory name when running `supabase init`. -project_id = "salonOS" +project_id = "anchoros" [api] enabled = true