ProyectoPSP/README.md

74 lines
2.9 KiB
Markdown

Aplicación de escritorio desarrollada en Python (Tkinter) que integra diversas utilidades de sistema, gestión de hilos, y funcionalidades avanzadas como Web Scraping con automatización de navegador.
## 📸 Demostración y Presentación
### Captura de Pantalla
![h](https://git.ieslamar.org/mireya/ProyectoPSP/src/branch/main/proyecto.png "Foto App")
### Video Explicativo
🔗 [Ver Video Explicativo del Proyecto](https://www.youtube.com/watch?v=0gaP-n2hHZ0)
🔗 [Mp4 En Drive](https://drive.google.com/file/d/11lnanegwVooLlKMprl1FPUbef9PlVqDD/view?usp=sharing)
---
## 🚀 Características Principales
Este proyecto demuestra el uso de la concurrencia (`threading`, `asyncio`), persistencia de datos (`shelve`), y control de procesos externos.
| Módulo | Descripción | Tecnología Clave |
| :--- | :--- | :--- |
| **Monitor de Sistema** | Gráficos en tiempo real de uso de CPU, Memoria y Tráfico de Red. | `psutil`, `matplotlib` |
| **Gestor de Alarmas** | Programación de alarmas persistentes con notificaciones pop-up. | `shelve`, `datetime` |
| **Reproductor de Audio** | Reproducción de música MP3/OGG en segundo plano. | `pygame.mixer` |
| **Web Scraper (Amazon)** | **Scraping de productos de Amazon** con búsqueda por parámetro, superando defensas *anti-bot* y carga dinámica (JavaScript). | **`Playwright`**, `asyncio`, `BeautifulSoup` |
| **Carrera de Camellos** | Simulación de carrera multihilo para demostrar la gestión de recursos compartidos y prevención de *deadlocks* mediante `threading.RLock`. | `threading`, `RLock` |
| **Lanzador Externo** | Ejecución de comandos del sistema operativo (ej. abrir navegador con URL). | `subprocess`, `webbrowser` |
---
## ⚙️ Instalación y Requisitos
Este proyecto requiere Python 3.8+ y las librerías listadas en **`dependencias.txt`**.
### 1. Clona el Repositorio
```bash
git clone https://git.ieslamar.org/mireya/ProyectoPSP.git
cd ProyectoPSP
```
### 2. Creación e instalación del entorno
Es altamente recomendable usar un entorno virtual (venv):
```bash
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# o
venv\Scripts\activate # Windows
```
### 3. Instalación de dependencias
Una vez en el entorno virtual, instala todas las librerías con este único comando:
```bash
pip install -r dependencias.txt
```
### 4. Instalación de Navegadores Playwright
El módulo de Web Scraping requiere la instalación de los binarios de los navegadores para Playwright (utilizamos Firefox por defecto):
```bash
playwright install firefox
```
---
## ▶️ Uso de la Aplicación
Para iniciar la aplicación principal, asegúrate de estar en el directorio adecuado y ejecuta:
```bash
python main.py
```
---
## Notas Adicionales
Archivos de Persistencia: Los archivos de datos como alarm_data.db, notepad_data.txt, y amazon_productos_resultados.json se crearán automáticamente al usar las funcionalidades.
Compatibilidad: El proyecto ha sido desarrollado para ser compatible con entornos Linux y Windows.