Added a demonstration video link and updated project description. |
||
|---|---|---|
| .idea | ||
| logica | ||
| res | ||
| vista | ||
| .gitignore | ||
| Readme.md | ||
| __main__.py | ||
Readme.md
🚀 ProyectoGlobal: Aplicaciones Multi-Funcionales
Indice
- 📄 Descripción del Proyecto
- 🛠️ Requisitos e Instalación
- ✅ Funcionalidades Implementadas (Evaluaciones Anteriores)
- 📅 Hoja de Ruta (Próximas Evaluaciones)
📄 Descripción del Proyecto
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).
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.
🛠️ 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
[!NOTE] Asegúrate de ejecutar este comando desde la carpeta del proyecto tras haber instalado las dependencias.
Bash python3 __main__.py
o si es ejecutado desde el IDE pyCharm puede darle al boton de play para ejecutar el proyecto habiendo seleccionado el archivo __main__.py
✅ Funcionalidades Implementadas (Evaluaciones Anteriores)
T1. Multiprocesos
| Estado | Característica |
|---|---|
| Done | Lanzamiento de aplicaciones externas con parámetros (ej. navegadores con URL). |
| Done | Implementación de Copias de seguridad mediante la ejecución de scripts Powershell (.ps1). |
| Done | Visualización de recursos del sistema (memoria, procesador, hilos) usando gráficas matplotlib. |
| Done | Editor de texto básico (estilo Notepad). |
| Done | Hilo concurrente para contar el tráfico de red (entrada/salida en KB) utilizando psutil.net_io_counters(). |
| Done | Apertura directa de VS Code desde la interfaz del programa. |
T2. Multihilos (Concurrencia)
| Estado | Característica |
|---|---|
| Done | Visualización de Fecha y Hora del sistema. |
| Done | Obtención y visualización de la Temperatura local. |
| Done | Sistema de Alarma programable (aviso visual y sonoro). |
| Done | Funcionalidad de Scraping para extracción de datos web. |
| Done | Mini-juego (Carrera de camellos / Buscaminas) aplicando resolución de sincronización (para evitar interbloqueos). |
| Done | Música de fondo (reproducción de mp3 o midi) utilizando python-vlc. |
📅 Hoja de Ruta (Próximas Evaluaciones)
T3. Sockets (Comunicación de Red Básica)
-
Implementación de un Chat simple.
-
Desarrollo de un Servidor TCP básico.
-
Desarrollo de un Servidor UDP básico.
-
Manejo de Streams de datos.
-
Uso de Asyncio para operaciones concurrentes en red.
T4. Servicios en Red (Aplicaciones Avanzadas)
-
Cliente de Correo Electrónico (usando POP3 y/o IMAP).
-
Implementación del protocolo SMTP.
-
Cliente FTP para transferencia de ficheros.
-
Cliente HTTP para peticiones web.
-
Servidor de música / radio online.
-
Juegos multijugador: Adivina número (cliente único/múltiple) y Piedra, Papel o Tijera.
-
Consumo de una API REST externa.
-
Implementación de Servicios API REST propios.
-
Desarrollo de Microservicios.
T5. Seguridad
-
Manejo de Autenticación y Roles de usuario.
-
Implementación de Logs de actividad.
-
Cálculo y verificación de HASH aplicado a ficheros.
-
Técnicas de Cifrado.
-
Algoritmos DES y AES.
-
Cifrado Simétrico y RSA (Cifrado Asimétrico).
-
-
Implementación de Firma Digital.
-
Configuración y uso de SSL/TLS.