# 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` ```sh pip install -r requirements.txt ``` ## ▶️ Puesta en marcha rápida 1. (Opcional) Arranca el servidor de mensajería: ```sh python3 servidor.py ``` Verás `Servidor escuchando en 0.0.0.0:3333` en consola. 2. Lanza la interfaz gráfica: ```sh 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.).