From f340abf7ad5a451d891b0237c4dd446d68684343 Mon Sep 17 00:00:00 2001 From: BYolivia Date: Sat, 6 Dec 2025 14:34:21 +0100 Subject: [PATCH] feat(vista): Refactoriza ventana principal (main) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refactoriza la ventana principal para modularizar y mejorar la estructura. * Reestructura ventana principal con módulos. * Integra clases modulares para cada pestaña. * Corrige errores de inicialización y dependencias. * Agrega view_scrapping.py con NavegadorPanel. * Refactoriza musicReproductor.py y otros. * Agrega logica/T2/buscaMinas.py y ventana_buscaMinas.py. * Corrige menores en Readme.md. --- Readme.md | 130 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 105 insertions(+), 25 deletions(-) diff --git a/Readme.md b/Readme.md index 08bf68a..3cae366 100644 --- a/Readme.md +++ b/Readme.md @@ -1,50 +1,130 @@ -## Requisitos ## -tkinter => hay que instalar python3-tk -matplotlib => pip install matplotlib +# 🚀 ProyectoGlobal: Aplicaciones Multi-Funcionales -psutil => pip install psutil +## 📄 Descripción del Proyecto -python-vlc => pip install python-vlc +**ProyectoGlobal** es una aplicación de escritorio desarrollada en Python que integra diversas funcionalidades clave relacionadas con el **multiproceso**, la **concurrencia (multihilo)** y la **interacción de sistemas (sockets/redes)**. -bs4 => pip install bs4 +La aplicación sirve como un panel de control que permite al usuario gestionar procesos, visualizar recursos del sistema, ejecutar tareas de automatización, y acceder a mini-juegos y herramientas de scraping/reproducción multimedia. -requests => pip install requests +--- + +## 🛠️ Requisitos e Instalación + +Para ejecutar la aplicación, debes tener **Python 3** instalado. A continuación se detallan los paquetes necesarios y su comando de instalación. + +### 📦 Dependencias de Python + +Se recomienda instalar las dependencias en un **entorno virtual** (`venv`). + +| **Paquete** | **Instalación** | **Uso principal** | +| ------------------------ | ------------------------------------- | ------------------------------------------ | +| **tkinter** | `sudo apt install python3-tk` (Linux) | Interfaz gráfica (GUI) | +| **matplotlib** | `pip install matplotlib` | Gráficas de recursos del sistema | +| **psutil** | `pip install psutil` | Monitorización del sistema (CPU, RAM, red) | +| **python-vlc** | `pip install python-vlc` | Reproducción de audio/música | +| **beautifulsoup4** (bs4) | `pip install bs4` | Extracción de datos (Scraping) | +| **requests** | `pip install requests` | Solicitudes HTTP (para Scraping) | + +### ⚙️ Como Ejecutar + +Una vez instaladas las dependencias, ejecuta la aplicación desde el directorio principal del proyecto (el directorio que contiene la carpeta `ProyectoGlobal`): + +Bash -## Como Ejecutar ## > [!NOTE] -> Desde la carpeta anterior +> Asegúrate de ejecutar este comando desde la carpeta *padre* del módulo `ProyectoGlobal`. +> -python -m ProyectoGlobal +Bash -## Primera evaluacio ## +`python -m ProyectoGlobal` -### T1. Multiprocesos ### +o si es ejecutado desde el IDE pyCharm puede darle al boton de play + + para ejecutar el proyecto habiendo seleccionado el archivo \_\_main\_\_.py -1. ~~Lanzar aplicaciones externas con parámetros (por ejemplo navegadores externos con url)~~ -2. ~~Copias de seguridad realizadas con scripts powershell (.ps1)~~ +--- -3. ~~Ver los recursos del sistema (memoria, procesador, hilos, etc.) utilizando gráficas (matplotlib) gráficos de barras, de áreas, líneas, etc.~~ +## ✅ Funcionalidades Implementadas (Evaluaciones Anteriores) -4. ~~Editor de texto (estilo notepad).~~ +### T1. Multiprocesos -5. ~~Hilo que cuente en kilobytes el tráfico de entrada y de salida de nuestra conexión de red. psutil.net_io_counters()~~ +|**Estado**|**Característica**| +|---|---| +|**[x]**|Lanzamiento de **aplicaciones externas** con parámetros (ej. navegadores con URL).| +|**[x]**|Implementación de **Copias de seguridad** mediante la ejecución de scripts Powershell (`.ps1`).| +|**[x]**|Visualización de **recursos del sistema** (memoria, procesador, hilos) usando gráficas `matplotlib`.| +|**[x]**|**Editor de texto** básico (estilo Notepad).| +|**[x]**|Hilo concurrente para contar el **tráfico de red** (entrada/salida en KB) utilizando `psutil.net_io_counters()`.| +|**[x]**|Apertura directa de **VS Code** desde la interfaz del programa.| -6. ~~Abrir VScode desde el programa~~ +### T2. Multihilos (Concurrencia) -### T2. Multihilos ### +| **Estado** | **Característica** | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| **[x]** | Visualización de **Fecha y Hora** del sistema. | +| **[x]** | Obtención y visualización de la **Temperatura local**. | +| **[x]** | Sistema de **Alarma** programable (aviso visual y sonoro). | +| **[x]** | Funcionalidad de **Scraping** para extracción de datos web. | +| **[x]** | **Mini-juego** (Carrera de camellos / Buscaminas) aplicando resolución de sincronización (para evitar interbloqueos). | +| **[x]** | **Música de fondo** (reproducción de mp3 o midi) utilizando `python-vlc`. | -1. ~~Hora del sistema / Fecha del sistema~~ +--- -2. ~~Temperatura local~~ +## 📅 Hoja de Ruta (Próximas Evaluaciones) -3. ~~Programar Alarma (aviso visual y sonoro al pasar X minutos)~~ +### T3. Sockets (Comunicación de Red Básica) -4. ~~Scraping~~ +1. Implementación de un **Chat** simple. + +2. Desarrollo de un **Servidor TCP** básico. + +3. Desarrollo de un **Servidor UDP** básico. + +4. Manejo de **Streams** de datos. + +5. Uso de **Asyncio** para operaciones concurrentes en red. + -5. ~~Juego de los camellos / autos de choque / etc. (aplicar resolución de sincronización para evitar problemas de interbloqueos)~~ +### T4. Servicios en Red (Aplicaciones Avanzadas) -6. ~~Música de fondo (reproducción de mp3 o midi)~~ \ No newline at end of file +1. **Cliente de Correo Electrónico** (usando POP3 y/o IMAP). + +2. Implementación del protocolo **SMTP**. + +3. **Cliente FTP** para transferencia de ficheros. + +4. **Cliente HTTP** para peticiones web. + +5. **Servidor de música / radio online**. + +6. Juegos multijugador: **Adivina número** (cliente único/múltiple) y **Piedra, Papel o Tijera**. + +7. Consumo de una **API REST** externa. + +8. Implementación de **Servicios API REST** propios. + +9. Desarrollo de **Microservicios**. + + +### T5. Seguridad + +1. Manejo de **Autenticación y Roles** de usuario. + +2. Implementación de **Logs** de actividad. + +3. Cálculo y verificación de **HASH** aplicado a ficheros. + +4. Técnicas de **Cifrado**. + + - Algoritmos **DES** y **AES**. + + - Cifrado Simétrico y **RSA** (Cifrado Asimétrico). + +5. Implementación de **Firma Digital**. + +6. Configuración y uso de **SSL/TLS**. \ No newline at end of file