74 lines
3.0 KiB
Markdown
74 lines
3.0 KiB
Markdown
|
|
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
|
|
|
|
- YouTube: https://youtu.be/HgJwU_HagD8
|
|
- Drive: https://drive.google.com/file/d/14wGkkyZ9ASbV__O2xp1zIZJxSA6gpJoF/view?usp=sharing
|
|
|
|
## Foto
|
|
|
|
<img width="2879" height="1799" alt="image" src="https://github.com/user-attachments/assets/066099a3-316d-4443-a871-6c2a70bf2d5c" />
|
|
|
|
|
|
## 🚀 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`
|
|
|
|
```sh
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## ▶️ Puesta en marcha
|
|
|
|
1. (Opcional) Inicia el servidor de chat:
|
|
```sh
|
|
python3 servidor.py
|
|
```
|
|
2. Lanza el panel principal:
|
|
```sh
|
|
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.
|