68 lines
3.4 KiB
Markdown
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.).
|