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:
planetazuzu 2025-12-23 10:07:15 +01:00
parent c43e035593
commit adfef5b771
3 changed files with 830 additions and 44 deletions

View file

@ -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
View 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
View 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 ""