Frontend: vision general
Que cubre cutlyy-front
cutlyy-front es la aplicacion web que pone el producto en manos de dos tipos de usuario:
- personas clientes que reservan o gestionan su servicio
- personas del negocio que operan el dia a dia desde el panel privado
Es una SPA en React que vive principalmente en dos superficies:
- publico: landing, reserva, gestion del booking y reseñas
- privado: panel administrativo bajo
/admin
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 privada
Permite:
- iniciar sesion
- seleccionar membresia activa
- operar el negocio segun permisos
- administrar agenda, bookings, usuarios, servicios, sedes y metricas
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:
authbusinessplansbusiness-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 |
| 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