From 27f3364697145f221a97beefd3e5ca6cb4078400 Mon Sep 17 00:00:00 2001 From: Isaac_Aracena Date: Fri, 7 Aug 2026 13:49:09 +0000 Subject: [PATCH] Eliminar README.md --- README.md | 226 ------------------------------------------------------ 1 file changed, 226 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 2b07953..0000000 --- a/README.md +++ /dev/null @@ -1,226 +0,0 @@ -# Tablero CDC - -Aplicación interna para la gestión visual de aprobaciones de proyectos creativos del equipo CDC de **GomezLee Marketing**. - -El objetivo de esta app es simplificar el flujo de trabajo del equipo creativo mediante un tablero tipo Trello, donde cada tarjeta representa un proyecto y centraliza sus datos principales, enlaces y estado de aprobación. - ---- - -## Estado actual - -Esta versión incluye: - -- Proyecto React + Vite limpio. -- Limpieza del ecosistema Lovable. -- Corrección de `County Manager` a `Country Manager`. -- Configuración de `base: "/tablero-cdc/"` en `vite.config.ts`. -- Favicon personalizado para la pestaña del navegador. -- Login corporativo con Supabase Auth y Google Sign-In. -- Restricción de acceso a correos `@gomezleemarketing.com`. -- Usuario autenticado real en el encabezado. -- Botón de cerrar sesión. -- Rol `isGerardo` para Gerardo Marrero. -- Permisos visuales iniciales: solo Gerardo Marrero puede ver/editar monto interno y editar estatus. -- Paginación local en las vistas de Todos, Activos y Cerrados con 12 proyectos por página. -- Persistencia de proyectos en Supabase. -- Sincronización multiusuario con Supabase Realtime. -- Desplegables dinámicos desde Supabase `tablero_cdc_app_lists`, con fallback local mientras se termina la sincronización del Sheet. - ---- - -## Funcionalidades principales - -- Tablero visual de proyectos. -- Tarjetas por proyecto. -- Filtros por estado: Todos, Activos y Cerrados. -- Buscador por datos del proyecto. -- Modal de creación y edición de proyecto. -- Campos para cliente, marca, país, solicitante y `Country Manager`. -- Link de brief. -- Links múltiples de propuestas. -- Links múltiples de artes finales. -- Etiquetas de color por proyecto. -- Estatus visible para todos los usuarios. -- Monto interno visible solo para Gerardo Marrero. -- Paginación local para manejar tableros con muchos proyectos. - ---- - -## Funcionalidades pendientes - -Las siguientes funcionalidades se implementarán en próximas fases: - -1. Sincronización automática de la hoja `listas` del Google Sheet original hacia Supabase `tablero_cdc_app_lists`. -2. Escritura automática de datos en el Sheet original mediante n8n u otra integración definida. -3. Agregar una nueva columna final para enlace de brief en el Sheet original. -4. Reglas de seguridad definitivas con Supabase RLS. -5. Optimización futura de carga con RPC si el volumen de datos lo requiere. - ---- - -## Arquitectura prevista - -```text -Frontend React/Vite - ↓ -Supabase Auth - ↓ -Supabase Database/Postgres + Realtime + RLS - ↓ -n8n como capa de integración - ↓ -Google Sheets original - ↓ -Power BI -``` - -La app no debe modificar la estructura existente del Sheet original, ya que ese archivo alimenta un dashboard de Power BI. Cualquier columna nueva debe agregarse al final y validarse previamente. - ---- - -## Instalación local - -Instalar dependencias: - -```bash -npm install -``` - -Ejecutar en modo desarrollo: - -```bash -npm run dev -``` - -Generar build de producción: - -```bash -npm run build -``` - -Vista previa del build: - -```bash -npm run preview -``` - ---- - -## Variables de entorno - -Crear un archivo `.env` local basado en `.env.example`. - -Estructura esperada: - -```env -VITE_SUPABASE_URL="" -VITE_SUPABASE_ANON_KEY="" -VITE_WEBHOOK_URL="" -``` - -El campo `VITE_WEBHOOK_URL` puede permanecer vacío hasta que se defina la integración con n8n. La `anon key` de Supabase es pública para el frontend; nunca subir claves privadas como `service_role`, secretos OAuth o contraseñas de base de datos. - ---- - -## Seguridad - -No se deben subir al repositorio: - -- `.env` -- `.env.local` -- `.env.production` -- `.env.development` -- `node_modules` -- `dist` -- tokens -- credenciales -- archivos con secretos -- logs innecesarios - -El archivo `.env.example` sí puede subirse, siempre que no contenga valores reales. - ---- - -## Despliegue - -El proyecto está preparado para publicarse bajo la ruta: - -```ts -base: "/tablero-cdc/"; -``` - -Si la ruta final cambia, debe actualizarse `vite.config.ts` y el `basename` del router si aplica. - ---- - -## Notas importantes - -- Este repositorio representa la base inicial del proyecto. -- El diseño base fue aprobado antes de iniciar las integraciones técnicas. -- Las próximas fases deben implementarse en commits separados. -- No se debe alterar la estructura del Google Sheet original sin validación previa. -- La integración con Power BI depende de mantener estable la estructura del Sheet. - ---- - -## Equipo - -Proyecto interno de **GomezLee Marketing**. - -Desarrollo y soporte técnico: **Isaac Aracena**. - -## Persistencia en Supabase - -Esta versión ya no depende de `localStorage` para los proyectos. El tablero lee y guarda la información en Supabase usando las tablas: - -- `tablero_cdc_projects` -- `tablero_cdc_project_links` -- `tablero_cdc_profiles` -- `tablero_cdc_app_lists` - -Notas importantes: - -- Los proyectos abiertos se guardan en base de datos con `status = 'Activo'`, pero en la interfaz se muestran como proyectos sin estatus para mantener el comportamiento visual original. -- Los usuarios normales no ven ni actualizan el monto interno desde la app. -- Solo Gerardo Marrero puede modificar estatus, monto interno y eliminar proyectos desde la interfaz. -- Los links de propuestas y artes finales se guardan en `tablero_cdc_project_links`. -- Los desplegables se leen desde `tablero_cdc_app_lists`. Si una categoría todavía no existe en Supabase, la app usa una lista local de respaldo para no bloquear el formulario. - -## Supabase Realtime - -Para que la sincronización multiusuario funcione, habilita Realtime para las tablas `tablero_cdc_projects`, `tablero_cdc_project_links` y `tablero_cdc_app_lists` ejecutando en Supabase SQL Editor el archivo: - -```text -supabase_realtime_projects.sql -``` - -Luego abre la app en dos pestañas o dos navegadores: al crear, editar o eliminar un proyecto en una ventana, la otra debe actualizarse automáticamente. - -## Desplegables dinámicos - -La app intenta cargar estos desplegables desde `public.tablero_cdc_app_lists`: - -- `client` / `cliente` / `clientes` -- `brand` / `marca` / `marcas` -- `country` / `pais` / `bu` -- `status` / `estatus` -- `country_manager` / `cm` / `bu_cm` para mapear BU → Country Manager - -Si una categoría aún no existe en Supabase, se usa el respaldo local del frontend. Más adelante n8n sincronizará la hoja `listas` del Sheet original hacia `tablero_cdc_app_lists`. - -## Actualización: Tarifario dinámico desde Sheet/n8n, permisos internos y total tarifado por RPC - -Esta versión mantiene la app como consumidora del tarifario, pero elimina la administración manual dentro de la app: - -1. **Tarifario desde Google Sheets/n8n**: ya no aparece la pantalla privada de “Administrar tarifario”. El catálogo visible en los proyectos se carga desde `tablero_cdc_tariff_catalog`, que deberá sincronizarse desde el Google Sheet del tarifario mediante n8n. La app conserva el tarifario base como respaldo si la tabla está vacía o aún no existe. -2. **Total tarifado global/filtrado por RPC**: la tarjeta de total tarifado ya no necesita traer todos los proyectos para sumar en el navegador. La app llama la RPC `tablero_cdc_get_pricing_summary`, que calcula en Supabase el total de `Interno Cargado` y la cantidad de proyectos incluidos según los filtros activos. Si no hay filtros, devuelve el total global. -3. **Permisos internos ajustados**: el total tarifado, `Interno Cargado` y eliminar proyecto quedan restringidos en frontend a `gmarrero@gomezleemarketing.com` e `iaracena@gomezleemarketing.com`. - -Antes de usar esta versión en producción, ejecutar en Supabase SQL Editor: - -```sql --- Archivo incluido en este ZIP: --- supabase_tariff_catalog_and_safe_links.sql -``` - -Ese SQL crea/actualiza `tablero_cdc_tariff_catalog`, la función transaccional `tablero_cdc_replace_project_links`, la RPC `tablero_cdc_get_pricing_summary` y actualiza `tablero_cdc_get_projects_paginated` para que el monto interno solo viaje a Marrero e Isaac.