Proyecto1AVApsp/README.md

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.