Skip to content

Índice de Patrones (Resolución Rápida)

Si no sabes por dónde empezar a programar un requerimiento, busca tu caso de uso en esta tabla. En lugar de preguntar a Google "Cómo hacer X", usa los estándares de la casa.

Necesito...Archivo a consultarEnfoque Principal / Patrón
Base de Datos & SQL
Nombrar una tabla nueva04_Database/DATABASE_ENGINEERING_STANDARD.mdPlural, snake_case, PK UUID
Manejar montos monetarios (USD, EUR)04_Database/DATABASE_ENGINEERING_STANDARD.mdColumna bigint guardando centavos
Filtrar acceso según el usuario04_Database/DATABASE_ENGINEERING_STANDARD.mdRLS (Row Level Security) Obligatorio
Dar acceso público a un recurso seguro04_Database/PATRON_ACCESO_PUBLICO_RLS.mdpublic_token (UUID) en tabla + JWT claims custom
Prevenir borrado accidental de data04_Database/DATABASE_ENGINEERING_STANDARD.mdMigración con Down, Soft Delete (deleted_at)
Backend & Workers
Crear una nueva ruta de API02_Backend/BACKEND_ENGINEERING_STANDARD.mdRouter → Middleware → Handler → Service
Devolver un error al frontend03_API/API_ENGINEERING_STANDARD.mdFormato { success: false, error: { code, message } }
Conectar dos workers internos08_Cloud/CLOUDFLARE_PLATFORM_STANDARD.mdService Bindings (no expuestos a internet)
Proteger de spam/fuerza bruta05_Security/ESTANDAR_RATE_LIMITING.mdMiddleware de Rate Limit + CF-Connecting-IP
Validar el body de una Request HTTP02_Backend/BACKEND_ENGINEERING_STANDARD.mdEsquemas Zod obligatorios
Archivos & Multimedia
Subir una foto de perfil (1MB)08_Cloud/CLOUDFLARE_PLATFORM_STANDARD.mdSubida a R2 vía Streaming (no ArrayBuffer en RAM)
Generar un archivo PDF08_Cloud/PATRON_GENERACION_PDF_EDGE.mdpdf-lib inyectando texto sobre plantilla estática
Exponer imagen protegida a un usuario08_Cloud/CLOUDFLARE_PLATFORM_STANDARD.mdPresigned URLs temporales a bucket privado
Frontend & UI (React)
Llamar a la API al cargar componente01_Frontend/FRONTEND_ENGINEERING_STANDARD.mdReact Query useQuery (PROHIBIDO useEffect fetch)
Actualizar estado UI tras botón (ej. Like)01_Frontend/FRONTEND_ENGINEERING_STANDARD.mdReact Query Mutación Optimista + Rollback en error
Prevenir que usuario pierda datos al cerrar01_Frontend/FRONTEND_FORMS_PATTERNS.mdDirty State protection (beforeunload)
Mostrar que la página está cargando01_Frontend/FRONTEND_STATES_PATTERNS.mdSkeletons contextuales (no spinner genérico)
Si no hay resultados de búsqueda01_Frontend/FRONTEND_STATES_PATTERNS.mdEmpty State ilustrado con CTA claro
Manejar caída 500 del servidor01_Frontend/FRONTEND_ERROR_PAGES_STANDARD.mdErrorBoundary genérico con botón de "Reintentar"
Validar un email antes de enviar el form01_Frontend/FRONTEND_FORMS_PATTERNS.mdZod resolver + Debounce asíncrono para colisiones
Manejar conexión caída (offline)01_Frontend/FRONTEND_OFFLINE_STANDARD.mdDexie.js (IndexedDB) con sincronización manual
Recibir notificaciones en tiempo real01_Frontend/FRONTEND_REALTIME_PATTERN.mdHook useRealtimeSubscription (WebSockets)
Seguridad & DevOps
Leer un secreto (API KEY) sin hardcodear02_Backend/BACKEND_ENGINEERING_STANDARD.mdenv.SECRET_KEY + wrangler secret put
Validar permisos cross-tenant05_Security/SECURITY_ENGINEERING_STANDARD.mdRLS es la fuente de verdad (defensa en profundidad)
Renderizar contenido HTML de terceros05_Security/SECURITY_ENGINEERING_STANDARD.mdDOMPurify estricto antes de dangerouslySetInnerHTML
Manejar picos de lentitud en API08_Cloud/CLOUDFLARE_PLATFORM_STANDARD.mdConocer Cold Starts del Worker y tolerarlos UI
Quality & Decisiones
Qué probar/testear imperativamente06_Testing/ (Módulo)Test 401/403, 500, RLS cross-tenant, Optimistic Rollback
Tomar una decisión arquitectónica nueva09_Architecture/ARCHITECTURE_DECISION_LOG.mdEscribir un ADR (Architecture Decision Record) previo al PR
Hacer un Pull Request exitoso10_Code_Quality/FEATURE_PR_TEMPLATE.mdSeguir el Checklist de PR a rajatabla
Diagnosticar timeout infinito11_Debugging/PLAYBOOK_CAIDA_API.mdNetwork tab -> límites Cloudflare -> timeout React

171 documentos indexados · generado desde INDEX.json