Proyecto1AVApsp/README.md

3.4 KiB

Proyecto Global Dashboard

Panel de control escrito en Python 3.14 + Tkinter que reúne las prácticas solicitadas (scraping, monitorización, alarmas, notas, música y más) con una estética cuidada y paneles diferenciados.

🚀 Características principales

  • Dashboard modular: panel izquierdo con accesos rápidos (scraping, clima de Jávea, Camellos, copias de seguridad, etc.), cuaderno central por pestañas y panel derecho con chat y listado de alumnos.
  • Scraping integrado: workflows para Wallapop y scraping genérico con popups dedicados y avisos de estado.
  • Monitor de sistema: gráficas PSUtil actualizadas mediante after de Tk, evitando bloqueos y mostrando CPU/RAM/Net de forma fluida.
  • Bloc de notas y backups reales: edición rápida de texto con copias automáticas a una carpeta de respaldo mostrando progreso.
  • Widgets temáticos: reproductor musical con tarjetas, gestor de alarmas rediseñado y popup meteorológico (OpenWeather, coordenadas de Jávea) cacheado para reducir llamadas.
  • Servidor de mensajería: servidor.py permite broadcast TCP para pruebas de chat local.

⚙️ Requisitos

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

▶️ Puesta en marcha rápida

  1. (Opcional) Arranca el servidor de mensajería:
    python3 servidor.py
    
    Verás Servidor escuchando en 0.0.0.0:3333 en consola.
  2. Lanza la interfaz gráfica:
    python3 app.py
    
  3. Desde el panel derecho ajusta host/puerto y pulsa Conectar para chatear. Explora el resto de pestañas (scraping, notas, alarmas, música, clima) desde los botones laterales.

🧱 Arquitectura de carpetas

app.py           # GUI principal y lógica de scraping, clima, monitorización, alarmas...
servidor.py      # Servidor TCP broadcast para el chat de pruebas
requirements.txt # Dependencias del proyecto
README.md        # Este archivo

🛠️ Funcionalidades destacadas

  • Scraping Wallapop y genérico: ventanas emergentes, peticiones HTTP con Requests + BeautifulSoup, mensajes de éxito/error.
  • Weather popup “API Tiempo”: botón dedicado que consulta OpenWeather (con clave fallback), muestra iconos, temperaturas y caché temporal.
  • Copias de seguridad guiadas: barra de progreso y notificaciones durante la duplicación de directorios.
  • Editor y bloc de notas: pestañas separadas para notas rápidas y bloc organizado.
  • Gestor de alarmas: UI modernizada con tarjetas, botones primarios y feedback visual.
  • Música y utilidades: reproductor basado en pygame y accesos a herramientas externas (“Camellos”, lanzadores, etc.).

🌤️ Servicios externos

  • OpenWeatherMap: usado para el popup del clima (coordenadas de Jávea). Define OPENWEATHER_API_KEY en el entorno para usar tu propia clave.
  • Wallapop / sitios objetivo: las rutinas de scraping respetan temporizadores y headers básicos; ajusta las URLs o parámetros dentro de app.py para nuevos escenarios.

📌 Próximos pasos sugeridos

  1. Añadir pruebas unitarias para la lógica no gráfica (scraping, backups, parsers).
  2. Persistir chats y notas en SQLite para mantener el historial.
  3. Integrar reproductor completo dentro de la app (playlist, carátulas).

¿Necesitas extender alguna funcionalidad? Abre un issue o comenta qué módulo quieres potenciar (más scraping, dashboards adicionales, automatización de backups, etc.).