Frontend: vision general
Que cubre cutlyy-front
cutlyy-front es la aplicacion web que pone el producto en manos de tres superficies de uso:
- personas clientes que reservan o gestionan su servicio
- personas del negocio que operan el dia a dia desde
/admin - personas con acceso global que administran la plataforma desde
/control-panel
Es una SPA en React que hoy vive principalmente en tres experiencias:
- publico: landing, reserva, gestion del booking y reseñas
- negocio: panel operativo bajo
/admin - global:
Panel de controlbajo/control-panel
Rol del frontend dentro del ecosistema
El frontend no es la fuente final de verdad del negocio. Su trabajo es:
- presentar la informacion
- guiar el flujo de uso
- prevenir errores obvios
- manejar sesion y contexto activo
- consumir la API del backend
La regla final de negocio sigue viviendo en el backend.
Experiencias principales
Experiencia publica
Permite:
- entrar al landing
- reservar por
slugdel negocio - abrir un booking existente por
bookingId - dejar reseñas cuando el servicio termina
Experiencia de negocio
Permite:
- iniciar sesion
- seleccionar membresia activa
- operar el negocio segun permisos
- administrar agenda, bookings, usuarios, servicios, sedes y metricas
Experiencia global
Permite:
- entrar al
Panel de control - administrar negocios y planes
- gestionar usuarios globales y membresias
- administrar roles
GLOBALyCROSS_BUSINESS - crear y eliminar permisos y modulos
Mapa de alto nivel
Stack principal
| Capa | Tecnologia |
|---|---|
| UI | React 19 |
| Componentes | Material UI v7 |
| Bundling | Vite 7 |
| Lenguaje | TypeScript 5 |
| Datos remotos | TanStack React Query |
| Estado global | Zustand |
| Routing | React Router DOM v7 |
| Infraestructura cliente | Firebase Auth, Firestore, Storage, Messaging |
Modulos funcionales visibles en el repo
Las features principales del frontend incluyen:
authcontrol-panelbusinessplansbusiness-membershipsbookingsappointmentsservicesbranchesrolepermissionmodulereviewsmetricsusersnotifications
Frontera entre frontend y backend
| Tema | Frontend | Backend |
|---|---|---|
| Navegacion | Decide que pantalla mostrar | No participa |
| Sesion visual | Mantiene estado de UI y token activo | Valida el token |
| Validaciones previas | Previene requests invalidos comunes | Aplica validacion final |
| Regla de negocio | Expresa contratos y ayudas de UX | Es la fuente de verdad |
| Contexto global o de negocio | Decide shell y guards | Exige membresia y permisos correctos |
| Agenda | Muestra calendario y permite acciones | Persiste y protege estados |
| Automatizaciones | Escucha resultados y muestra feedback | Programa tasks, notifica y recalcula |
Piezas clave para comprender rapido
src/app/App.tsx: arbol principal de providerssrc/app/routes/AppRouter.tsx: mapa de rutassrc/config/apiClient.ts: capa HTTP compartidasrc/shared/hooks/useCachedFetch.ts: patron base de hookssrc/stores/*: stores de usuario, membresia y permisos