Proyecto1AVApsp/README.md

3.0 KiB

Laboratorio interactivo construido con Python 3.13 + Tkinter. Reúne scraping, monitorización, chat TCP, alarmas, reproductor musical y utilidades varias en una única aplicación de escritorio.

🎬 Demo en video

Foto

image

🚀 Características clave

  • Layout triple panel: accesos rápidos a la izquierda, notebook central con pestañas temáticas y panel derecho para chat y utilidades.
  • Scraping Wallapop + genérico: asistentes emergentes, validaciones y guardado de resultados.
  • Monitor de sistema: gráficas en vivo de CPU, RAM e hilos gracias a psutil y matplotlib embebido.
  • Productividad integrada: bloc de notas, gestor de alarmas, reproductor musical con pygame y lanzadores de procesos.
  • Popup meteorológico: consulta OpenWeather para Jávea con caché y resumen formateado.
  • Servidor TCP incluido: servidor.py permite pruebas de chat broadcast desde la propia app.

⚙️ Requisitos

  • Python 3.8 o superior (desarrollado en 3.13)
  • Dependencias listadas en requirements.txt
pip install -r requirements.txt

▶️ Puesta en marcha

  1. (Opcional) Inicia el servidor de chat:
    python3 servidor.py
    
  2. Lanza el panel principal:
    python3 app.py
    
  3. Usa el panel izquierdo para abrir scraping, notas, alarmas o el popup del clima; el panel derecho gestiona el chat y el reproductor.

🧱 Estructura del proyecto

app.py           # GUI principal y lógica de negocio
servidor.py      # Servidor TCP broadcast para el chat
requirements.txt # Lista de dependencias
README.md        # Documentación

🛠️ Flujos destacados

  • Scraping: workers en segundo plano con colas y retroalimentación visual en la pestaña de resultados.
  • Copias de seguridad: selección interactiva de carpetas y reporte final con totales copiados/omitidos.
  • Gestor de alarmas: creación, cancelación y popups dedicados con recordatorio sonoro.
  • Panel de recursos: mezcla de gráficas lineales, de área y de barras para CPU/RAM/hilos.
  • Popup “API Tiempo”: resumen meteorológico en ventana modal con refresco bajo demanda.

⚙️ Configuración opcional

  • OPENWEATHER_API_KEY / OPENWEATHER_FALLBACK_API_KEY: claves para OpenWeather.
  • Variables WALLAPOP_*: encabezados y parámetros usados por el scraper.
  • Ajusta el host/puerto del chat en el panel derecho o modificando SERVER_HOST_DEFAULT y SERVER_PORT_DEFAULT en app.py.

📌 Próximos pasos sugeridos

  1. Añadir almacenamiento persistente (SQLite) para chats y notas.
  2. Incorporar pruebas unitarias para scraping y rutinas de backup.
  3. Extender el reproductor musical con colas y visualizaciones.

¿Quieres ampliar alguna sección (scraping extra, nuevos paneles, automatización de tareas)? Adelante, la base está lista para seguir creciendo.