Proyecto1AVApsp/README.md

68 lines
3.4 KiB
Markdown

# 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.).