- Actualizar fechaActualizacion en manual-index.ts (100+ capítulos) - Actualizar fechas en archivos .md del manual (public/manual/) - Actualizar fechas en documentación (docs/) - Actualizar fechas en páginas legales (Privacidad, Descargo, AvisoLegal) - Actualizar fechas en scripts de limpieza - Reemplazar todas las referencias de 2024-12-XX a 2025-12-23 - Reemplazar '19 de diciembre de 2024' a '23 de diciembre de 2025'
16 KiB
📊 Análisis Tecnológico Completo del Proyecto
Proyecto: EMERGES TES - Protocolo Rápido
Fecha de Análisis: 2025-12-23
Ruta del Proyecto: /home/planetazuzu/protocolo-r-pido
1. 🎯 TECNOLOGÍAS PRINCIPALES
1.1 Lenguaje de Programación
- TypeScript 5.8.3 (lenguaje principal)
- Configuración:
tsconfig.json,tsconfig.app.json,tsconfig.node.json - Modo: ESNext modules, bundler mode
- JSX:
react-jsx - Target: ES2020 (app), ES2022 (node)
- Configuración:
1.2 Framework Frontend
- React 18.3.1 (framework principal)
- React DOM 18.3.1
- React Router DOM 6.30.1 (navegación SPA)
- React Hook Form 7.61.1 (formularios)
- React Markdown 10.1.0 (renderizado Markdown)
1.3 Herramientas de Build y Empaquetado
- Vite 5.4.19 (build tool principal)
- Plugin:
@vitejs/plugin-react-swc3.11.0 (compilación rápida con SWC) - Code splitting configurado (manual chunks)
- Soporte para PWA
- Configuración para GitHub Pages
- Plugin:
1.4 Estilos y UI
-
Tailwind CSS 3.4.17 (framework CSS)
- Plugins:
tailwindcss-animate1.0.7@tailwindcss/typography0.5.16
- PostCSS 8.5.6
- Autoprefixer 10.4.21
- Plugins:
-
shadcn/ui (sistema de componentes)
- Basado en Radix UI
- Componentes accesibles y personalizables
- 40+ componentes UI implementados
-
Radix UI (primitivos UI accesibles)
- 30+ componentes @radix-ui/*
1.5 Procesamiento de Contenido
- Markdown Processing:
react-markdown10.1.0remark-gfm4.0.1 (GitHub Flavored Markdown)remark-frontmatter5.0.0rehype-highlight7.0.2 (syntax highlighting)rehype-raw7.0.0rehype-sanitize6.0.0unified11.0.5
1.6 Gestión de Estado y Datos
-
TanStack Query 5.83.0 (React Query)
- Gestión de estado del servidor
- Caché y sincronización
-
LocalStorage/SessionStorage
- Favoritos (localStorage)
- Historial de búsqueda (sessionStorage)
- Configuración de tema
1.7 PWA (Progressive Web App)
-
Service Worker (
public/sw.js)- Estrategia: Cache First
- Versionado de caché
- Actualizaciones automáticas
-
Web App Manifest (
public/manifest.json)- Configuración PWA completa
- Iconos y temas
1.8 Utilidades y Librerías Clave
- Validación: Zod 3.25.76
- Fechas: date-fns 3.6.0
- Iconos: lucide-react 0.462.0
- Temas: next-themes 0.3.0
- Notificaciones: sonner 1.7.4
- Gráficos: recharts 2.15.4
- Carousel: embla-carousel-react 8.6.0
- Comandos: cmdk 1.1.1
- Utilidades CSS: clsx 2.1.1, tailwind-merge 2.6.0
2. 🏗️ ESTRUCTURA DEL PROYECTO
2.1 Tipo de Arquitectura
SPA (Single Page Application)
- Arquitectura: Frontend monolítico
- Routing: Client-side (React Router)
- Build: Estático (Vite)
- Despliegue: Archivos estáticos en
dist/
2.2 Carpetas Principales
protocolo-r-pido/
├── .github/ # GitHub Actions workflows
│ └── workflows/
│ └── deploy.yml # Auto-deploy a servidor
├── public/ # Archivos estáticos públicos
│ ├── assets/ # Imágenes e infografías
│ │ └── infografias/ # Imágenes organizadas por bloque
│ ├── manual/ # Archivos Markdown del manual (78 archivos)
│ ├── manifest.json # PWA manifest
│ ├── sw.js # Service Worker
│ ├── favicon.svg # Favicon
│ └── robots.txt # SEO
├── src/ # Código fuente principal
│ ├── components/ # Componentes React
│ │ ├── content/ # MarkdownViewer
│ │ ├── drugs/ # Componentes de fármacos
│ │ ├── layout/ # Header, Footer, Navigation
│ │ ├── procedures/ # Protocolos
│ │ ├── tools/ # Calculadoras médicas
│ │ └── ui/ # Componentes shadcn/ui (40+)
│ ├── data/ # Datos estáticos TypeScript
│ │ ├── drugs.ts # Vademécum
│ │ ├── procedures.ts # Protocolos
│ │ ├── manual-index.ts # Índice del manual (2500+ líneas)
│ │ └── image-registry.ts # Registry de imágenes
│ ├── hooks/ # Custom React hooks
│ │ ├── useFavorites.ts
│ │ ├── usePWAInstall.ts
│ │ ├── useServiceWorker.ts
│ │ └── useSearchHistory.ts
│ ├── lib/ # Utilidades
│ │ └── utils.ts # Funciones helper
│ ├── pages/ # Páginas principales (20+)
│ ├── utils/ # Utilidades específicas
│ ├── App.tsx # Componente raíz
│ ├── main.tsx # Entry point
│ └── index.css # Estilos globales
├── scripts/ # Scripts Python y shell
│ ├── verificar-manual.ts # Verificación TypeScript
│ └── *.py # Scripts de organización
├── docs/ # Documentación
├── _BACKUP_MD/ # Backups (203 archivos)
├── imagenes-pendientes/ # Imágenes pendientes (60 archivos)
└── [Archivos de configuración]
2.3 Configuraciones Detectadas
Build & Development:
vite.config.ts- Configuración Vite (code splitting, aliases, PWA)tsconfig.json- TypeScript basetsconfig.app.json- TypeScript para apptsconfig.node.json- TypeScript para Node (configs)
Estilos:
tailwind.config.ts- Configuración Tailwind (tema, colores, animaciones)postcss.config.js- PostCSS (Tailwind + Autoprefixer)
Linting:
eslint.config.js- ESLint 9.32.0 (flat config)eslint-plugin-react-hooks5.2.0eslint-plugin-react-refresh0.4.20typescript-eslint8.38.0
Deployment:
ecosystem.config.js- PM2 (puerto 8607)deploy.sh- Script de desplieguewebhook-deploy.sh- Webhook handler.github/workflows/deploy.yml- GitHub Actionsvercel.json- Configuración Vercelnetlify.toml- Configuración Netlifynginx.conf.example- Ejemplo Nginxpublic/_redirects- Netlify redirectspublic/.htaccess- Apache config
PWA:
public/manifest.json- Web App Manifestpublic/sw.js- Service Workervite-plugin-manifest.js- Plugin personalizado
UI Components:
components.json- Configuración shadcn/ui
3. 📦 DEPENDENCIAS
3.1 Gestión de Dependencias
- Sistema: npm (Node Package Manager)
- Archivo:
package.json - Type:
module(ESM) - Node.js: Requiere 18+
3.2 Dependencias de Producción (75 paquetes)
Core:
- react ^18.3.1
- react-dom ^18.3.1
- react-router-dom ^6.30.1
UI Framework:
- @radix-ui/* (30+ componentes)
- tailwindcss ^3.4.17
- tailwindcss-animate ^1.0.7
- @tailwindcss/typography ^0.5.16
Markdown:
- react-markdown ^10.1.0
- remark-gfm ^4.0.1
- remark-frontmatter ^5.0.0
- rehype-highlight ^7.0.2
- rehype-raw ^7.0.0
- rehype-sanitize ^6.0.0
- unified ^11.0.5
State & Data:
- @tanstack/react-query ^5.83.0
- react-hook-form ^7.61.1
- zod ^3.25.76
Utilities:
- date-fns ^3.6.0
- lucide-react ^0.462.0
- next-themes ^0.3.0
- sonner ^1.7.4
- clsx ^2.1.1
- tailwind-merge ^2.6.0
Other:
- recharts ^2.15.4
- embla-carousel-react ^8.6.0
- cmdk ^1.1.1
- vaul ^0.9.9
3.3 Dependencias de Desarrollo (15 paquetes)
Build Tools:
- vite ^5.4.19
- @vitejs/plugin-react-swc ^3.11.0
- typescript ^5.8.3
Linting:
- eslint ^9.32.0
- @eslint/js ^9.32.0
- typescript-eslint ^8.38.0
- eslint-plugin-react-hooks ^5.2.0
- eslint-plugin-react-refresh ^0.4.20
CSS Processing:
- tailwindcss ^3.4.17
- postcss ^8.5.6
- autoprefixer ^10.4.21
Type Definitions:
- @types/node ^22.16.5
- @types/react ^18.3.23
- @types/react-dom ^18.3.7
Utilities:
- tsx ^4.21.0 (TypeScript execution)
- raw-loader ^4.0.2
- globals ^15.15.0
3.4 Versiones de Herramientas
- Node.js: 18+ (recomendado)
- npm: Compatible con Node 18+
- TypeScript: 5.8.3
- React: 18.3.1
- Vite: 5.4.19
4. 🛠️ ENTORNO DE DESARROLLO
4.1 Archivos de Configuración de IDE
VSCode:
.vscode/extensions.json(si existe)- Configuración TypeScript en
tsconfig.json
Otros:
.idea/(ignorado en .gitignore).DS_Store(ignorado)
4.2 Scripts de Ejecución
package.json scripts:
{
"dev": "vite", // Desarrollo (puerto 8096)
"build": "vite build", // Build producción
"build:dev": "vite build --mode development",
"build:github": "GITHUB_PAGES=true ...", // Build para GitHub Pages
"build:production": "NODE_ENV=production vite build",
"preview": "vite preview --host", // Preview build
"start:production": "npx serve -s dist -l 8607", // Servir producción
"lint": "eslint .", // Linter
"verify:manual": "tsx scripts/verificar-manual.ts" // Verificación
}
Scripts Shell:
deploy.sh- Deploy completo (git pull + build + PM2)webhook-deploy.sh- Handler webhookservir-local.sh- Servir localmente
4.3 Variables de Entorno
Archivos:
.env(ignorado, no existe en repo).env.local(ignorado).env.production(ignorado).env.development(ignorado)env.example(ejemplo, existe)
Variables usadas:
GITHUB_PAGES- Para builds de GitHub PagesGITHUB_REPOSITORY_NAME- Nombre del repoNODE_ENV- Entorno (development/production)BASE_URL- Base path dinámico (Vite)
4.4 Configuración de Desarrollo
Puertos:
- Desarrollo:
8096(vite.config.ts) - Preview:
4173(Vite default) - Producción:
8607(ecosystem.config.js, package.json)
Hot Reload:
- ✅ Habilitado en desarrollo (Vite HMR)
- ✅ Fast Refresh (React)
Code Splitting:
- ✅ Configurado en
vite.config.ts - ✅ Lazy loading de páginas (React.lazy)
- ✅ Manual chunks por librería
5. 📁 ESTRUCTURA DE ARCHIVOS ESPECÍFICA
5.1 Archivos de Configuración Raíz
├── package.json # Dependencias y scripts
├── vite.config.ts # Configuración Vite
├── tsconfig.json # TypeScript base
├── tsconfig.app.json # TypeScript app
├── tsconfig.node.json # TypeScript node
├── tailwind.config.ts # Tailwind CSS
├── postcss.config.js # PostCSS
├── eslint.config.js # ESLint
├── components.json # shadcn/ui config
├── ecosystem.config.js # PM2 config
├── deploy.sh # Script deploy
├── webhook-deploy.sh # Webhook handler
├── vercel.json # Vercel config
├── netlify.toml # Netlify config
├── nginx.conf.example # Nginx example
├── .gitignore # Git ignore
└── README.md # Documentación
5.2 Contenido Estático
Markdown Manual:
public/manual/- 78 archivos .md organizados por bloquesMANUAL_TES_DIGITAL/- 110 archivos .md (backup/alternativo)
Imágenes:
public/assets/infografias/- 46+ imágenes PNG/SVG organizadasimagenes-pendientes/- 60 imágenes pendientes de organizar
Otros:
_BACKUP_MD/- 203 archivos de backup (129 .md, 62 .docx, 7 .py)
5.3 Scripts y Utilidades
Python Scripts:
analisis_profundo_contenido.pybuscar_multimedia_exhaustivo.pybuscar_multimedia_faltante.pycopiar_archivos_manual.pygenerar_documento_word.pygenerar_indice_app.pygenerar_reportes_app.pymejorar_reporte_1.pyscripts/*.py- Scripts de organización
TypeScript Scripts:
scripts/verificar-manual.ts- Verificación de manual
Shell Scripts:
deploy.sh- Deploywebhook-deploy.sh- Webhookservir-local.sh- Servir localreorganizar_proyecto.sh- Reorganización
6. 🔍 CARACTERÍSTICAS TÉCNICAS DETECTADAS
6.1 Arquitectura de Código
- ✅ Component-based: React components
- ✅ Type-safe: TypeScript en todo el código
- ✅ Modular: Separación clara de concerns
- ✅ Lazy Loading: React.lazy para páginas
- ✅ Code Splitting: Manual chunks en Vite
6.2 PWA Features
- ✅ Service Worker con versionado
- ✅ Web App Manifest completo
- ✅ Offline-first strategy
- ✅ Install banner
- ✅ Update notifications
6.3 Performance Optimizations
- ✅ Code splitting (manual chunks)
- ✅ Lazy loading de páginas
- ✅ Image lazy loading
- ✅ Memoization (React.memo, useMemo, useCallback)
- ✅ Optimización de INP (Interaction to Next Paint)
6.4 SEO y Accesibilidad
- ✅ Meta tags en index.html
- ✅ robots.txt
- ✅ Semantic HTML
- ✅ ARIA labels (Radix UI)
- ✅ Dark mode support
7. 📊 ESTADÍSTICAS DEL PROYECTO
7.1 Archivos por Tipo
- TypeScript/TSX: ~136 archivos en
src/ - Markdown: 78 archivos en
public/manual/+ 110 en backup - Imágenes: 46+ en
public/assets/+ 60 pendientes - Componentes UI: 40+ componentes shadcn/ui
- Páginas: 20+ páginas React
- Hooks: 4 custom hooks
- Data Files: 12 archivos TypeScript de datos
7.2 Líneas de Código (estimado)
src/data/manual-index.ts: 2500+ líneassrc/App.tsx: ~130 líneasvite.config.ts: ~168 líneas- Total TypeScript/TSX: ~15,000+ líneas (estimado)
7.3 Dependencias
- Producción: 75 paquetes
- Desarrollo: 15 paquetes
- Total: 90 paquetes npm
8. 🚀 DESPLIEGUE Y CI/CD
8.1 Plataformas de Despliegue Configuradas
-
Servidor Propio (PM2)
- Puerto: 8607
- Script:
deploy.sh - Config:
ecosystem.config.js
-
GitHub Actions
- Workflow:
.github/workflows/deploy.yml - Auto-deploy en push a main
- Workflow:
-
Vercel
- Config:
vercel.json - SPA routing configurado
- Config:
-
Netlify
- Config:
netlify.toml - Redirects:
public/_redirects
- Config:
-
GitHub Pages
- Build script:
build:github - Base path dinámico
- Build script:
-
Apache
- Config:
public/.htaccess - SPA routing
- Config:
-
Nginx
- Example:
nginx.conf.example - Reverse proxy
- Example:
8.2 Estrategias de Despliegue
- ✅ Static Build:
dist/con archivos estáticos - ✅ SPA Routing: Configurado para todas las plataformas
- ✅ Auto-deploy: GitHub Actions
- ✅ Manual Deploy: Scripts shell
9. 📝 DOCUMENTACIÓN
9.1 Archivos de Documentación (40+ archivos .md)
Despliegue:
DEPLOYMENT_SERVER.mdDEPLOYMENT_GITHUB.mdVERCEL_DEPLOYMENT.mdRESUMEN_DEPLOY_8607.md
PWA:
VERIFICACION_PWA.mdTEST_PWA.mdCHECKLIST_PWA_COMPLETA.mdGUIA_DEBUG_PWA_INSTALL.mdRESUMEN_PWA_INSTALACION.md
Contenido:
FASE_1_FALTANTE_DETALLADO.mdANALISIS_COMPLETO_FALTANTE.mdSISTEMA_MEDIOS_VISUALES.mdPLAN_ESTRUCTURA_PSIQUIATRIA.md
Otros:
README.mdESTADO_FUNCIONALIDADES.mdSPA_ROUTING_CONFIG.md- Y muchos más...
10. ✅ RESUMEN EJECUTIVO
Stack Tecnológico Principal
Frontend: React 18 + TypeScript 5.8
Build: Vite 5.4
Styling: Tailwind CSS 3.4 + shadcn/ui
Routing: React Router 6.3
State: TanStack Query 5.8 + LocalStorage
PWA: Service Worker + Manifest
Markdown: react-markdown + remark/rehype
Deploy: PM2 (puerto 8607) + GitHub Actions
Tipo de Proyecto
- Aplicación: SPA (Single Page Application)
- Arquitectura: Frontend monolítico
- Build: Estático (archivos estáticos)
- Target: PWA offline-first
- Uso: Médico/emergencias (crítico)
Puntos Clave para Limpieza
- Backups:
_BACKUP_MD/(203 archivos) - considerar mover/eliminar - Imágenes pendientes:
imagenes-pendientes/(60 archivos) - Documentación: 40+ archivos .md (algunos pueden consolidarse)
- Scripts Python: 10+ scripts (algunos pueden estar obsoletos)
- Configuraciones múltiples: 7 plataformas de deploy (mantener solo las usadas)
Análisis completado: 2025-12-23
Próximo paso: Identificar archivos obsoletos y redundantes para limpieza