feat: añadir script de limpieza completo por fases
- Script cleanup_completo.sh con 6 fases de limpieza - Fase 1: Eliminar archivos innecesarios - Fase 2: Mover backups y duplicados - Fase 3: Simplificar configuraciones - Fase 4: Consolidar documentación - Fase 5: Limpiar scripts - Fase 6: Reinstalación y verificación - Documentación completa en PLAN_LIMPIEZA_FASES.md
This commit is contained in:
parent
c43e035593
commit
adfef5b771
100
.dockerignore
100
.dockerignore
|
|
@ -3,70 +3,82 @@ node_modules
|
|||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Build output
|
||||
# Build outputs
|
||||
dist
|
||||
dist-ssr
|
||||
build
|
||||
.next
|
||||
out
|
||||
dist-ssr
|
||||
|
||||
# Development files
|
||||
.vscode
|
||||
.idea
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Environment files
|
||||
.env
|
||||
.env.local
|
||||
.env.production
|
||||
.env.development
|
||||
.env*.local
|
||||
|
||||
# IDE
|
||||
.vscode
|
||||
.idea
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Git
|
||||
.git
|
||||
.gitignore
|
||||
|
||||
# Documentation (opcional - descomentar si no quieres incluirlos)
|
||||
# *.md
|
||||
# !README.md
|
||||
|
||||
# Backups
|
||||
_BACKUP_MD
|
||||
backup_*
|
||||
|
||||
# Temporary files
|
||||
*.bak
|
||||
*.backup
|
||||
*.tmp
|
||||
*.log
|
||||
|
||||
# Scripts de desarrollo (no necesarios en producción)
|
||||
scripts/*.py
|
||||
*.py
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Imágenes pendientes (no necesarias en producción)
|
||||
# Documentation (no necesario en imagen Docker)
|
||||
*.md
|
||||
!README.md
|
||||
docs/
|
||||
_BACKUP_MD/
|
||||
MANUAL_TES_DIGITAL/
|
||||
imagenes-pendientes/
|
||||
|
||||
# Archivos de configuración de desarrollo
|
||||
# Scripts (no necesario en producción)
|
||||
scripts/
|
||||
*.py
|
||||
*.sh
|
||||
!deploy-docker.sh
|
||||
|
||||
# Configuraciones de desarrollo
|
||||
.eslintrc*
|
||||
.prettierrc*
|
||||
.editorconfig
|
||||
|
||||
# Backups y temporales
|
||||
*.bak
|
||||
*.backup
|
||||
backup_*/
|
||||
*_backup_*
|
||||
|
||||
# Logs
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Testing
|
||||
coverage
|
||||
.nyc_output
|
||||
coverage/
|
||||
.nyc_output/
|
||||
|
||||
# Misc
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
# Docker files (no copiar dentro de la imagen)
|
||||
Dockerfile
|
||||
docker-compose*.yml
|
||||
.dockerignore
|
||||
|
||||
# CI/CD
|
||||
.github/
|
||||
|
||||
# Configuraciones de despliegue no Docker
|
||||
vercel.json
|
||||
netlify.toml
|
||||
nginx.conf.example
|
||||
ecosystem.config.js
|
||||
deploy.sh
|
||||
webhook-deploy.sh
|
||||
|
||||
# Archivos de configuración de IDE
|
||||
*.iml
|
||||
*.sublime-*
|
||||
|
|
|
|||
364
PLAN_LIMPIEZA_FASES.md
Normal file
364
PLAN_LIMPIEZA_FASES.md
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
# 🧹 Plan de Limpieza Completo - EMERGES TES
|
||||
|
||||
**Fecha:** 2024-12-19
|
||||
**Script:** `cleanup_completo.sh`
|
||||
|
||||
---
|
||||
|
||||
## 📋 Resumen Ejecutivo
|
||||
|
||||
Este plan ejecuta una limpieza completa del proyecto en **6 fases**, moviendo archivos innecesarios a carpetas de revisión y manteniendo solo lo esencial.
|
||||
|
||||
**Resultado esperado:**
|
||||
- ~250 archivos (en lugar de 400+)
|
||||
- ~150MB (en lugar de 250MB+)
|
||||
- Estructura clara y organizada
|
||||
- Todas las funcionalidades intactas
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Fases de Limpieza
|
||||
|
||||
### **FASE 1: ARCHIVOS INNECESARIOS** (Eliminar inmediatamente)
|
||||
|
||||
**Acciones:**
|
||||
- ✅ Eliminar archivos del sistema (.DS_Store, Thumbs.db)
|
||||
- ✅ Eliminar logs (*.log, npm-debug.log*)
|
||||
- ✅ Eliminar builds anteriores (dist/, build/, .next/)
|
||||
- ✅ Eliminar node_modules/ (se reinstalarán)
|
||||
|
||||
**Impacto:** Limpieza inmediata, sin riesgo
|
||||
|
||||
---
|
||||
|
||||
### **FASE 2: BACKUPS Y DUPLICADOS** (Mover a revisión)
|
||||
|
||||
**Archivos movidos a `../EMERGES_REVISION_YYYYMMDD/`:**
|
||||
|
||||
1. **`_BACKUP_MD/`** (203 archivos)
|
||||
- 129 archivos .md
|
||||
- 62 archivos .docx
|
||||
- 7 scripts Python
|
||||
- **Acción:** Mover para revisión
|
||||
|
||||
2. **`MANUAL_TES_DIGITAL/`** (110 archivos .md)
|
||||
- Duplicado de `public/manual/`
|
||||
- **Acción:** Mover para revisión
|
||||
|
||||
3. **`imagenes-pendientes/`** (60 archivos)
|
||||
- 50 imágenes PNG
|
||||
- 9 imágenes SVG
|
||||
- **Acción:** Mover para revisión
|
||||
|
||||
**Impacto:** Libera ~100MB, archivos disponibles para revisión
|
||||
|
||||
---
|
||||
|
||||
### **FASE 3: CONFIGURACIONES REDUNDANTES** (Simplificar)
|
||||
|
||||
**Configuraciones movidas a `config_backup/`:**
|
||||
|
||||
- `vercel.json` (si no usas Vercel)
|
||||
- `netlify.toml` (si no usas Netlify)
|
||||
- `nginx.conf.example` (solo ejemplo)
|
||||
- `public/.htaccess` (si no usas Apache)
|
||||
- `public/_redirects` (si no usas Netlify)
|
||||
|
||||
**Configuraciones mantenidas:**
|
||||
|
||||
- ✅ `Dockerfile`
|
||||
- ✅ `docker-compose.yml`
|
||||
- ✅ `docker-compose.prod.yml`
|
||||
- ✅ `deploy-docker.sh`
|
||||
- ✅ `ecosystem.config.js` (PM2)
|
||||
- ✅ `deploy.sh`
|
||||
- ✅ `webhook-deploy.sh`
|
||||
- ✅ `.github/workflows/deploy.yml`
|
||||
|
||||
**Impacto:** Simplifica estructura, mantiene solo lo usado
|
||||
|
||||
---
|
||||
|
||||
### **FASE 4: DOCUMENTACIÓN** (Consolidar)
|
||||
|
||||
**Documentación esencial → `docs/consolidado/`:**
|
||||
|
||||
1. `DEPLOYMENT_SERVER.md`
|
||||
2. `DEPLOYMENT_DOCKER.md`
|
||||
3. `DEPLOYMENT_GITHUB.md`
|
||||
4. `VERCEL_DEPLOYMENT.md`
|
||||
5. `RESUMEN_DEPLOY_8607.md`
|
||||
6. `VERIFICACION_PWA.md`
|
||||
7. `ESTADO_FUNCIONALIDADES.md`
|
||||
8. `SPA_ROUTING_CONFIG.md`
|
||||
9. `CHECKLIST_PWA_COMPLETA.md`
|
||||
10. `ANALISIS_TECNOLOGICO_PROYECTO.md`
|
||||
11. `PLAN_ESTRUCTURA_PSIQUIATRIA.md`
|
||||
12. `FASE_1_FALTANTE_DETALLADO.md`
|
||||
13. `SISTEMA_MEDIOS_VISUALES.md`
|
||||
|
||||
**Resto de documentación → `docs/archivo/`:**
|
||||
|
||||
- Todos los demás archivos .md (excepto README.md)
|
||||
|
||||
**README.md:** Actualizado con información esencial
|
||||
|
||||
**Impacto:** Documentación organizada y accesible
|
||||
|
||||
---
|
||||
|
||||
### **FASE 5: SCRIPTS** (Limpiar)
|
||||
|
||||
**Scripts Python → `../EMERGES_REVISION_YYYYMMDD/scripts_python/`:**
|
||||
|
||||
- Todos los scripts .py de la raíz
|
||||
- Scripts .py de `scripts/`
|
||||
|
||||
**Scripts mantenidos:**
|
||||
|
||||
- ✅ `deploy.sh`
|
||||
- ✅ `deploy-docker.sh`
|
||||
- ✅ `webhook-deploy.sh`
|
||||
- ✅ `cleanup_completo.sh`
|
||||
- ✅ `cleanup_project.sh`
|
||||
- ✅ `scripts/verificar-manual.ts`
|
||||
|
||||
**Impacto:** Solo scripts esenciales visibles
|
||||
|
||||
---
|
||||
|
||||
### **FASE 6: REINSTALACIÓN Y VERIFICACIÓN**
|
||||
|
||||
**Acciones:**
|
||||
- ✅ Reinstalar dependencias (`npm install`)
|
||||
- ✅ Verificar build (`npm run build`)
|
||||
- ✅ Mostrar resumen final
|
||||
|
||||
**Impacto:** Proyecto funcional y verificado
|
||||
|
||||
---
|
||||
|
||||
## 📊 Estructura Final Optimizada
|
||||
|
||||
```
|
||||
protocolo-r-pido/
|
||||
├── public/ # Archivos públicos
|
||||
│ ├── assets/infografias/ # 46+ imágenes organizadas
|
||||
│ ├── manual/ # 78 archivos .md
|
||||
│ ├── manifest.json
|
||||
│ ├── sw.js
|
||||
│ └── favicon.svg
|
||||
├── src/ # ~136 archivos TS/TSX
|
||||
│ ├── components/ # 40+ componentes
|
||||
│ ├── data/ # Datos TypeScript
|
||||
│ ├── hooks/ # Custom hooks
|
||||
│ ├── pages/ # 20+ páginas
|
||||
│ └── [otros]
|
||||
├── docs/
|
||||
│ ├── consolidado/ # 13 documentos esenciales
|
||||
│ └── archivo/ # 30+ documentos para referencia
|
||||
├── scripts/
|
||||
│ └── verificar-manual.ts # Script esencial
|
||||
├── config_backup/ # Configuraciones no usadas
|
||||
├── .github/
|
||||
│ └── workflows/deploy.yml
|
||||
├── Dockerfile # ✅ Mantenido
|
||||
├── docker-compose.yml # ✅ Mantenido
|
||||
├── docker-compose.prod.yml # ✅ Mantenido
|
||||
├── deploy-docker.sh # ✅ Mantenido
|
||||
├── ecosystem.config.js # ✅ Mantenido (PM2)
|
||||
├── deploy.sh # ✅ Mantenido
|
||||
├── webhook-deploy.sh # ✅ Mantenido
|
||||
├── cleanup_completo.sh # ✅ Nuevo
|
||||
├── package.json
|
||||
├── vite.config.ts
|
||||
├── tailwind.config.ts
|
||||
└── README.md # ✅ Actualizado
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Uso del Script
|
||||
|
||||
### Ejecutar Limpieza Completa
|
||||
|
||||
```bash
|
||||
# Hacer ejecutable (si no lo está)
|
||||
chmod +x cleanup_completo.sh
|
||||
|
||||
# Ejecutar limpieza
|
||||
./cleanup_completo.sh
|
||||
```
|
||||
|
||||
El script:
|
||||
1. ✅ Crea backup completo automático
|
||||
2. ✅ Pide confirmación antes de continuar
|
||||
3. ✅ Ejecuta las 6 fases secuencialmente
|
||||
4. ✅ Muestra progreso detallado
|
||||
5. ✅ Verifica build al final
|
||||
6. ✅ Muestra resumen completo
|
||||
|
||||
---
|
||||
|
||||
## ✅ Verificaciones Post-Limpieza
|
||||
|
||||
### 1. Build del Proyecto
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
**Esperado:** Build exitoso sin errores
|
||||
|
||||
---
|
||||
|
||||
### 2. Desarrollo Local
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
**Esperado:** App funciona en `http://localhost:8096`
|
||||
|
||||
---
|
||||
|
||||
### 3. Docker
|
||||
|
||||
```bash
|
||||
docker-compose up --build
|
||||
```
|
||||
|
||||
**Esperado:** Contenedor inicia correctamente en puerto 8607
|
||||
|
||||
---
|
||||
|
||||
### 4. PWA Funcionalidad
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
npx serve -s dist -l 3000
|
||||
```
|
||||
|
||||
**Verificar en navegador:**
|
||||
- ✅ Service Worker registrado
|
||||
- ✅ Manifest funciona
|
||||
- ✅ Modo offline funciona
|
||||
- ✅ Instalación PWA disponible
|
||||
|
||||
---
|
||||
|
||||
### 5. Funcionalidades Clave
|
||||
|
||||
**Verificar:**
|
||||
- ✅ Manual médico (todos los .md accesibles)
|
||||
- ✅ Vademécum de fármacos
|
||||
- ✅ Protocolos de emergencia
|
||||
- ✅ Calculadoras médicas
|
||||
- ✅ Favoritos y búsqueda
|
||||
- ✅ Navegación entre páginas
|
||||
|
||||
---
|
||||
|
||||
## 📊 Espacio Liberado Estimado
|
||||
|
||||
| Elemento | Archivos | Espacio | Acción |
|
||||
|----------|----------|---------|--------|
|
||||
| `_BACKUP_MD/` | 203 | ~50MB | Mover a revisión |
|
||||
| `MANUAL_TES_DIGITAL/` | 110 | ~30MB | Mover a revisión |
|
||||
| `imagenes-pendientes/` | 60 | ~20MB | Mover a revisión |
|
||||
| Documentación .md | 40+ | ~5MB | Consolidar |
|
||||
| Configuraciones | 10+ | ~1MB | Mover a backup |
|
||||
| Logs y temporales | Varios | ~5MB | Eliminar |
|
||||
| **TOTAL** | **400+** | **~110MB** | **Optimizado** |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Precauciones
|
||||
|
||||
### Antes de Ejecutar
|
||||
|
||||
1. ✅ **Backup manual extra** (recomendado):
|
||||
```bash
|
||||
cp -r /home/planetazuzu/protocolo-r-pido /home/planetazuzu/protocolo-backup-manual
|
||||
```
|
||||
|
||||
2. ✅ **Verificar que no hay cambios sin commit**:
|
||||
```bash
|
||||
git status
|
||||
```
|
||||
|
||||
3. ✅ **Commit de cambios pendientes** (si los hay):
|
||||
```bash
|
||||
git add -A
|
||||
git commit -m "backup antes de limpieza"
|
||||
```
|
||||
|
||||
### Después de Ejecutar
|
||||
|
||||
1. ✅ **Revisar `../EMERGES_REVISION_YYYYMMDD/`** antes de eliminar
|
||||
2. ✅ **Verificar todas las funcionalidades**
|
||||
3. ✅ **Probar build y deploy**
|
||||
4. ✅ **Si todo está bien, eliminar backups antiguos** (mantener solo el más reciente)
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Mantenimiento Recomendado
|
||||
|
||||
### Script de Mantenimiento Mensual
|
||||
|
||||
Crear `monthly_cleanup.sh`:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
echo "🧼 Mantenimiento mensual del proyecto"
|
||||
|
||||
# 1. Limpiar node_modules y reinstalar
|
||||
rm -rf node_modules package-lock.json
|
||||
npm install
|
||||
|
||||
# 2. Limpiar builds
|
||||
rm -rf dist/
|
||||
|
||||
# 3. Verificar dependencias
|
||||
npm outdated
|
||||
npm audit
|
||||
|
||||
# 4. Rebuild
|
||||
npm run build
|
||||
|
||||
echo "✅ Mantenimiento completado"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Resultado Final
|
||||
|
||||
Después de la limpieza, el proyecto tendrá:
|
||||
|
||||
- ✅ **~250 archivos** (en lugar de 400+)
|
||||
- ✅ **~150MB** (en lugar de 250MB+)
|
||||
- ✅ **Estructura clara y organizada**
|
||||
- ✅ **Todas las funcionalidades intactas**
|
||||
- ✅ **PWA completamente funcional**
|
||||
- ✅ **Deployment simplificado**
|
||||
- ✅ **Documentación accesible**
|
||||
|
||||
---
|
||||
|
||||
## 📞 Soporte
|
||||
|
||||
Si algo falla después de la limpieza:
|
||||
|
||||
1. **Restaurar desde backup:**
|
||||
```bash
|
||||
cd ..
|
||||
tar -xzf EMERGES_BACKUP_YYYYMMDD_HHMMSS/proyecto_completo.tar.gz
|
||||
```
|
||||
|
||||
2. **Revisar logs del script** (si hay errores)
|
||||
|
||||
3. **Verificar que todas las dependencias están instaladas**
|
||||
|
||||
---
|
||||
|
||||
**Última actualización:** 2024-12-19
|
||||
410
cleanup_completo.sh
Normal file
410
cleanup_completo.sh
Normal file
|
|
@ -0,0 +1,410 @@
|
|||
#!/bin/bash
|
||||
# cleanup_completo.sh
|
||||
# Limpieza completa y optimización de EMERGES TES
|
||||
# Fase por fase con verificaciones de seguridad
|
||||
|
||||
set -e # Detenerse en errores
|
||||
|
||||
# Colores para output
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Variables
|
||||
BACKUP_DIR="../EMERGES_BACKUP_$(date +%Y%m%d_%H%M%S)"
|
||||
REVIEW_DIR="../EMERGES_REVISION_$(date +%Y%m%d)"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}🧹 LIMPIEZA COMPLETA DE EMERGES TES${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}📦 Backup completo: ${BACKUP_DIR}${NC}"
|
||||
echo -e "${CYAN}📋 Archivos para revisión: ${REVIEW_DIR}${NC}"
|
||||
echo ""
|
||||
|
||||
# Confirmación
|
||||
read -p "$(echo -e ${YELLOW}¿Continuar con la limpieza? [y/N]: ${NC})" -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo -e "${RED}❌ Limpieza cancelada${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Crear directorios
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
mkdir -p "$REVIEW_DIR"
|
||||
mkdir -p config_backup/
|
||||
mkdir -p docs/consolidado/
|
||||
mkdir -p docs/archivo/
|
||||
|
||||
# ============================================================================
|
||||
# FASE 1: ARCHIVOS INNECESARIOS (ELIMINAR INMEDIATAMENTE)
|
||||
# ============================================================================
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}FASE 1: ARCHIVOS INNECESARIOS${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[1.1] Creando backup completo del proyecto...${NC}"
|
||||
tar --exclude='node_modules' \
|
||||
--exclude='dist' \
|
||||
--exclude='build' \
|
||||
--exclude='.next' \
|
||||
--exclude='out' \
|
||||
--exclude='.git' \
|
||||
-czf "$BACKUP_DIR/proyecto_completo.tar.gz" . 2>/dev/null || {
|
||||
echo -e "${RED}⚠️ No se pudo crear backup completo, continuando...${NC}"
|
||||
}
|
||||
echo -e "${GREEN}✅ Backup completo creado${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[1.2] Eliminando archivos del sistema...${NC}"
|
||||
find . -type f \( -name ".DS_Store" -o -name "Thumbs.db" -o -name ".localized" \) -delete 2>/dev/null || true
|
||||
COUNT=$(find . -type f \( -name ".DS_Store" -o -name "Thumbs.db" \) 2>/dev/null | wc -l)
|
||||
if [ "$COUNT" -eq 0 ]; then
|
||||
echo -e "${GREEN}✅ Archivos del sistema eliminados${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ Quedan $COUNT archivos del sistema${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[1.3] Eliminando logs...${NC}"
|
||||
find . -type f \( -name "*.log" -o -name "npm-debug.log*" -o -name "yarn-debug.log*" -o -name "yarn-error.log*" \) -delete 2>/dev/null || true
|
||||
echo -e "${GREEN}✅ Logs eliminados${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[1.4] Eliminando builds y cachés...${NC}"
|
||||
rm -rf dist/ build/ .next/ out/ .cache/ 2>/dev/null || true
|
||||
echo -e "${GREEN}✅ Builds y cachés eliminados${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[1.5] Eliminando node_modules y package-lock.json...${NC}"
|
||||
rm -rf node_modules/ 2>/dev/null || true
|
||||
rm -f package-lock.json 2>/dev/null || true
|
||||
echo -e "${GREEN}✅ Dependencias eliminadas (se reinstalarán después)${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# FASE 2: BACKUPS Y DUPLICADOS (MOVER/ARCHIVAR)
|
||||
# ============================================================================
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}FASE 2: BACKUPS Y DUPLICADOS${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
if [ -d "_BACKUP_MD" ]; then
|
||||
echo -e "${YELLOW}[2.1] Moviendo _BACKUP_MD/ (203 archivos) para revisión...${NC}"
|
||||
mv _BACKUP_MD/ "$REVIEW_DIR/_BACKUP_MD/" 2>/dev/null || true
|
||||
echo -e "${GREEN}✅ _BACKUP_MD/ movido a $REVIEW_DIR/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ [2.1] _BACKUP_MD/ no existe${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
if [ -d "MANUAL_TES_DIGITAL" ]; then
|
||||
echo -e "${YELLOW}[2.2] Moviendo MANUAL_TES_DIGITAL/ (110 archivos) para revisión...${NC}"
|
||||
mv MANUAL_TES_DIGITAL/ "$REVIEW_DIR/MANUAL_TES_DIGITAL/" 2>/dev/null || true
|
||||
echo -e "${GREEN}✅ MANUAL_TES_DIGITAL/ movido a $REVIEW_DIR/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ [2.2] MANUAL_TES_DIGITAL/ no existe${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
if [ -d "imagenes-pendientes" ]; then
|
||||
echo -e "${YELLOW}[2.3] Moviendo imagenes-pendientes/ (60 archivos) para revisión...${NC}"
|
||||
mv imagenes-pendientes/ "$REVIEW_DIR/imagenes_pendientes/" 2>/dev/null || true
|
||||
echo -e "${GREEN}✅ imagenes-pendientes/ movido a $REVIEW_DIR/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ [2.3] imagenes-pendientes/ no existe${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# FASE 3: CONFIGURACIONES REDUNDANTES (SIMPLIFICAR)
|
||||
# ============================================================================
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}FASE 3: CONFIGURACIONES REDUNDANTES${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[3.1] Moviendo configuraciones no usadas a backup...${NC}"
|
||||
CONFIGS_MOVED=0
|
||||
|
||||
for config in vercel.json netlify.toml nginx.conf.example; do
|
||||
if [ -f "$config" ]; then
|
||||
mv "$config" config_backup/ 2>/dev/null && {
|
||||
echo -e " ✓ Movido: $config"
|
||||
CONFIGS_MOVED=$((CONFIGS_MOVED + 1))
|
||||
} || true
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -f "public/.htaccess" ]; then
|
||||
mv public/.htaccess config_backup/ 2>/dev/null && {
|
||||
echo -e " ✓ Movido: public/.htaccess"
|
||||
CONFIGS_MOVED=$((CONFIGS_MOVED + 1))
|
||||
} || true
|
||||
fi
|
||||
|
||||
if [ -f "public/_redirects" ]; then
|
||||
mv public/_redirects config_backup/ 2>/dev/null && {
|
||||
echo -e " ✓ Movido: public/_redirects"
|
||||
CONFIGS_MOVED=$((CONFIGS_MOVED + 1))
|
||||
} || true
|
||||
fi
|
||||
|
||||
if [ "$CONFIGS_MOVED" -gt 0 ]; then
|
||||
echo -e "${GREEN}✅ $CONFIGS_MOVED configuraciones movidas a config_backup/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ No se encontraron configuraciones para mover${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo -e "${BLUE}📋 Configuraciones mantenidas (Docker + PM2 + GitHub Actions):${NC}"
|
||||
echo -e " ✓ Dockerfile"
|
||||
echo -e " ✓ docker-compose.yml"
|
||||
echo -e " ✓ docker-compose.prod.yml"
|
||||
echo -e " ✓ deploy-docker.sh"
|
||||
echo -e " ✓ ecosystem.config.js (PM2)"
|
||||
echo -e " ✓ deploy.sh"
|
||||
echo -e " ✓ webhook-deploy.sh"
|
||||
echo -e " ✓ .github/workflows/deploy.yml"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# FASE 4: DOCUMENTACIÓN (CONSOLIDAR)
|
||||
# ============================================================================
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}FASE 4: DOCUMENTACIÓN${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[4.1] Moviendo documentación esencial a docs/consolidado/...${NC}"
|
||||
IMPORTANT_DOCS=(
|
||||
"DEPLOYMENT_SERVER.md"
|
||||
"DEPLOYMENT_DOCKER.md"
|
||||
"DEPLOYMENT_GITHUB.md"
|
||||
"VERCEL_DEPLOYMENT.md"
|
||||
"RESUMEN_DEPLOY_8607.md"
|
||||
"VERIFICACION_PWA.md"
|
||||
"ESTADO_FUNCIONALIDADES.md"
|
||||
"SPA_ROUTING_CONFIG.md"
|
||||
"CHECKLIST_PWA_COMPLETA.md"
|
||||
"ANALISIS_TECNOLOGICO_PROYECTO.md"
|
||||
"PLAN_ESTRUCTURA_PSIQUIATRIA.md"
|
||||
"FASE_1_FALTANTE_DETALLADO.md"
|
||||
"SISTEMA_MEDIOS_VISUALES.md"
|
||||
)
|
||||
|
||||
DOCS_MOVED=0
|
||||
for doc in "${IMPORTANT_DOCS[@]}"; do
|
||||
if [ -f "$doc" ]; then
|
||||
mv "$doc" docs/consolidado/ 2>/dev/null && {
|
||||
echo -e " ✓ Movido: $doc"
|
||||
DOCS_MOVED=$((DOCS_MOVED + 1))
|
||||
} || true
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$DOCS_MOVED" -gt 0 ]; then
|
||||
echo -e "${GREEN}✅ $DOCS_MOVED documentos esenciales movidos a docs/consolidado/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ No se encontraron documentos esenciales para mover${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[4.2] Moviendo resto de documentación a docs/archivo/...${NC}"
|
||||
ARCHIVE_COUNT=0
|
||||
find . -maxdepth 1 -name "*.md" ! -name "README.md" -type f | while read -r file; do
|
||||
mv "$file" docs/archivo/ 2>/dev/null && {
|
||||
ARCHIVE_COUNT=$((ARCHIVE_COUNT + 1))
|
||||
} || true
|
||||
done
|
||||
|
||||
# Contar archivos archivados
|
||||
ARCHIVE_COUNT=$(find docs/archivo -name "*.md" 2>/dev/null | wc -l)
|
||||
if [ "$ARCHIVE_COUNT" -gt 0 ]; then
|
||||
echo -e "${GREEN}✅ $ARCHIVE_COUNT documentos movidos a docs/archivo/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ No se encontraron documentos para archivar${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[4.3] Creando README.md limpio...${NC}"
|
||||
cat > README.md << 'EOF'
|
||||
# EMERGES TES - Protocolo Rápido
|
||||
|
||||
Aplicación PWA para protocolos médicos de emergencia.
|
||||
|
||||
## 🚑 Características
|
||||
|
||||
- **Protocolos de emergencia** (RCP, vía aérea, shock, etc.)
|
||||
- **Vademécum de fármacos** con dosis, indicaciones y contraindicaciones
|
||||
- **Calculadoras médicas** (Glasgow, perfusiones)
|
||||
- **Guías de actuación en escena** (seguridad, ABCDE, triage)
|
||||
- **Diseño optimizado para móvil** y uso nocturno
|
||||
- **Funciona offline** (PWA)
|
||||
|
||||
## 🛠️ Stack Tecnológico
|
||||
|
||||
- **React 18** + **TypeScript 5.8**
|
||||
- **Vite 5.4** - Build tool
|
||||
- **Tailwind CSS 3.4** + **shadcn/ui** - UI Framework
|
||||
- **React Router 6.3** - Navegación SPA
|
||||
- **PWA** - Service Worker + Manifest
|
||||
|
||||
## 📦 Instalación
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev # Desarrollo (localhost:8096)
|
||||
npm run build # Producción
|
||||
```
|
||||
|
||||
## 🚀 Despliegue Principal
|
||||
|
||||
- **Servidor:** PM2 en puerto 8607
|
||||
- **Docker:** `docker-compose up --build`
|
||||
- **CI/CD:** GitHub Actions
|
||||
|
||||
## 📚 Documentación
|
||||
|
||||
Ver `docs/consolidado/` para documentación completa:
|
||||
- Despliegue (Docker, PM2, GitHub Actions)
|
||||
- PWA y Service Worker
|
||||
- Estado de funcionalidades
|
||||
- Análisis técnico
|
||||
|
||||
## 📄 Licencia
|
||||
|
||||
[Especificar licencia si aplica]
|
||||
|
||||
---
|
||||
|
||||
**Desarrollado para Técnicos de Emergencias Sanitarias**
|
||||
EOF
|
||||
echo -e "${GREEN}✅ README.md actualizado${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# FASE 5: SCRIPTS (LIMPIAR)
|
||||
# ============================================================================
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}FASE 5: SCRIPTS${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[5.1] Moviendo scripts Python a revisión...${NC}"
|
||||
PYTHON_COUNT=0
|
||||
for script in *.py; do
|
||||
if [ -f "$script" ]; then
|
||||
mv "$script" "$REVIEW_DIR/scripts_python/" 2>/dev/null && {
|
||||
echo -e " ✓ Movido: $script"
|
||||
PYTHON_COUNT=$((PYTHON_COUNT + 1))
|
||||
} || true
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$PYTHON_COUNT" -gt 0 ]; then
|
||||
echo -e "${GREEN}✅ $PYTHON_COUNT scripts Python movidos a $REVIEW_DIR/scripts_python/${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⏭️ No se encontraron scripts Python en la raíz${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[5.2] Organizando scripts en scripts/...${NC}"
|
||||
mkdir -p scripts/utiles/
|
||||
|
||||
# Mantener scripts esenciales
|
||||
if [ -f "scripts/verificar-manual.ts" ]; then
|
||||
mv scripts/verificar-manual.ts scripts/utiles/ 2>/dev/null || true
|
||||
echo -e " ✓ Mantenido: scripts/verificar-manual.ts"
|
||||
fi
|
||||
|
||||
# Mover scripts Python de scripts/ a revisión
|
||||
if [ -d "scripts" ]; then
|
||||
for script in scripts/*.py; do
|
||||
if [ -f "$script" ]; then
|
||||
mv "$script" "$REVIEW_DIR/scripts_python/" 2>/dev/null && {
|
||||
echo -e " ✓ Movido: $script"
|
||||
} || true
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Restaurar scripts útiles
|
||||
if [ -d "scripts/utiles" ]; then
|
||||
mv scripts/utiles/* scripts/ 2>/dev/null || true
|
||||
rmdir scripts/utiles 2>/dev/null || true
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}✅ Scripts organizados${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# FASE 6: REINSTALACIÓN Y VERIFICACIÓN
|
||||
# ============================================================================
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${BLUE}FASE 6: REINSTALACIÓN Y VERIFICACIÓN${NC}"
|
||||
echo -e "${BLUE}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[6.1] Reinstalando dependencias...${NC}"
|
||||
npm install
|
||||
echo -e "${GREEN}✅ Dependencias instaladas${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}[6.2] Verificando build...${NC}"
|
||||
if npm run build; then
|
||||
echo -e "${GREEN}✅ Build exitoso${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Error en el build${NC}"
|
||||
echo -e "${YELLOW}⚠️ Revisa los errores antes de continuar${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# RESUMEN FINAL
|
||||
# ============================================================================
|
||||
echo -e "${GREEN}════════════════════════════════════════════════════════${NC}"
|
||||
echo -e "${GREEN}✅ LIMPIEZA COMPLETADA${NC}"
|
||||
echo -e "${GREEN}════════════════════════════════════════════════════════${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${BLUE}📊 RESUMEN:${NC}"
|
||||
echo -e " 📦 Backup completo: ${CYAN}$BACKUP_DIR${NC}"
|
||||
echo -e " 📋 Archivos para revisión: ${CYAN}$REVIEW_DIR${NC}"
|
||||
echo ""
|
||||
|
||||
# Contar archivos movidos
|
||||
BACKUP_FILES=$(find "$REVIEW_DIR" -type f 2>/dev/null | wc -l)
|
||||
CONFIG_FILES=$(find config_backup -type f 2>/dev/null | wc -l)
|
||||
DOC_FILES=$(find docs/consolidado docs/archivo -type f 2>/dev/null | wc -l)
|
||||
|
||||
echo -e "${BLUE}📁 Archivos movidos:${NC}"
|
||||
echo -e " 📚 Backups y duplicados: ${CYAN}$BACKUP_FILES archivos${NC}"
|
||||
echo -e " ⚙️ Configuraciones: ${CYAN}$CONFIG_FILES archivos${NC}"
|
||||
echo -e " 📄 Documentación: ${CYAN}$DOC_FILES archivos${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${BLUE}🏗️ VERIFICACIONES RECOMENDADAS:${NC}"
|
||||
echo -e " 1. ${CYAN}npm run dev${NC} # Desarrollo (localhost:8096)"
|
||||
echo -e " 2. ${CYAN}npm run build${NC} # Build producción"
|
||||
echo -e " 3. ${CYAN}docker-compose up --build${NC} # Docker"
|
||||
echo -e " 4. Verificar PWA (Service Worker, Manifest)"
|
||||
echo -e " 5. Probar funcionalidades principales"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}⚠️ IMPORTANTE:${NC}"
|
||||
echo -e " 1. Revisa ${CYAN}$REVIEW_DIR${NC} antes de eliminar nada"
|
||||
echo -e " 2. Verifica que todas las funcionalidades funcionen"
|
||||
echo -e " 3. Si todo está bien, puedes eliminar backups antiguos"
|
||||
echo ""
|
||||
|
||||
echo -e "${GREEN}🎯 Proyecto optimizado y listo para desarrollo${NC}"
|
||||
echo ""
|
||||
Loading…
Reference in a new issue