diff --git a/src/README.md b/src/README.md deleted file mode 100644 index 8aa765c..0000000 --- a/src/README.md +++ /dev/null @@ -1,159 +0,0 @@ -# MultiApp - -MultiApp es una aplicación de escritorio desarrollada en Python que combina múltiples funcionalidades en una sola interfaz gráfica. Utiliza la biblioteca `customtkinter` para la creación de la interfaz de usuario y está diseñada para ser modular, integrando diferentes servicios y herramientas como un monitor del sistema, un juego de Tetris, un gestor de procesos, y un scrapper web. - -## Características principales - -- **Interfaz gráfica moderna**: Construida con `customtkinter` para una experiencia de usuario mejorada. -- **Scrapping web**: Permite extraer enlaces de páginas web y almacenarlos en una base de datos. -- **Monitor del sistema**: Muestra métricas en tiempo real como uso de CPU, RAM y red. -- **Juego de Tetris**: Incluye un juego de Tetris completamente funcional. -- **Gestión de procesos**: Abre programas, archivos o URLs directamente desde la aplicación. -- **Gestión de hilos**: Maneja múltiples tareas concurrentes de manera eficiente. - ---- - -## Estructura del proyecto - -El proyecto está organizado en diferentes módulos y clases, cada uno con una responsabilidad específica. A continuación, se describen las clases principales y sus funcionalidades. - -### 1. `CenteredWindow` (ubicada en `src/ui/centered_window.py`) - -Esta es la clase principal de la aplicación que gestiona la interfaz gráfica y la interacción del usuario. - -- **Responsabilidades**: - - Configurar la ventana principal y centrarla en la pantalla. - - Crear paneles (izquierdo, derecho, central y barra inferior) para organizar las funcionalidades. - - Manejar el inicio y cierre de la aplicación. - - Integrar los diferentes componentes como el monitor del sistema, el scrapper y el juego de Tetris. - ---- - -### 2. `ThreadsManager` (ubicada en `src/services/threads_manager.py`) - -Gestiona los hilos de ejecución para las diferentes tareas de la aplicación. - -- **Responsabilidades**: - - Iniciar y detener hilos para tareas como actualización de tiempo, temperatura, correos, monitor del sistema y el juego de Tetris. - - Coordinar la ejecución de tareas concurrentes. - - Proveer métodos para actualizar métricas del sistema, tiempo, temperatura y correos. - ---- - -### 3. `ThreadenTask` (ubicada en `src/services/threaden_task.py`) - -Clase auxiliar para manejar hilos individuales. - -- **Responsabilidades**: - - Iniciar y detener hilos de manera segura. - - Garantizar que los hilos se ejecuten en segundo plano como demonios. - ---- - -### 4. `ProcessManager` (ubicada en `src/services/processes_manager.py`) - -Permite abrir programas, archivos o URLs desde la aplicación. - -- **Responsabilidades**: - - Abrir recursos como navegadores web, programas o archivos. - - Manejar errores y proporcionar mensajes de fallback en caso de fallos. - ---- - -### 5. `Scrapper` (ubicada en `src/services/scrapper.py`) - -Clase encargada de realizar el scrapping web y almacenar los enlaces encontrados en una base de datos. - -- **Responsabilidades**: - - Extraer enlaces de páginas web utilizando `BeautifulSoup`. - - Almacenar los enlaces en una base de datos MySQL. - - Actualizar la interfaz de usuario con los enlaces encontrados. - - Manejar múltiples tareas de scrapping de manera concurrente. - ---- - -### 6. `SystemMonitor` (ubicada en `src/services/system_monitor.py`) - -Monitorea métricas del sistema en tiempo real y las muestra en gráficos. - -- **Responsabilidades**: - - Obtener métricas como uso de CPU, RAM y red utilizando `psutil`. - - Mostrar gráficos en tiempo real utilizando `matplotlib`. - - Actualizar los gráficos dinámicamente con nuevos datos. - ---- - -### 7. `TetrisGame` (ubicada en `src/services/tetris_game.py`) - -Implementa un juego de Tetris completamente funcional dentro de la aplicación. - -- **Responsabilidades**: - - Gestionar la lógica del juego, incluyendo movimiento, rotación y colocación de piezas. - - Detectar líneas completas y actualizarlas. - - Manejar eventos de teclado para controlar el juego. - ---- - -## Requisitos del sistema - -- Python 3.8 o superior. -- Bibliotecas necesarias (instalables con `pip`): - - `customtkinter` - - `psutil` - - `matplotlib` - - `requests` - - `beautifulsoup4` - - `mysql-connector-python` - ---- - -## Instalación - -1. Clona este repositorio: -``` -bash -git clone https://github.com/DennisEckerskorn/MultiAppRepo.git -cd MultiAppRepo -``` - - -2. Instala las dependencias: -bash -pip install -r requirements.txt - - - -3. Configura la base de datos MySQL: - - Crea una base de datos llamada `scrap_links_db`. - - Asegúrate de que las credenciales en `Scrapper` coincidan con tu configuración. - -4. Ejecuta la aplicación: -bash -python src/main.py - - - ---- - -## Uso - -1. **Scrapping**: - - Introduce una URL en el panel izquierdo y haz clic en "Iniciar Scrapping". - - Los enlaces encontrados se mostrarán en la pestaña "Scrapping". - -2. **Monitor del sistema**: - - Ve a la pestaña "Sistema" para ver gráficos en tiempo real de CPU, RAM y red. - -3. **Juego de Tetris**: - - Ve a la pestaña "Juego" y haz clic en "Start Game" para comenzar a jugar. - -4. **Gestión de procesos**: - - Usa los botones del panel izquierdo para abrir programas o URLs. - ---- - -## Enlace al video de demostración: - -## Autor - -Desarrollado por Dennis Eckerskorn. \ No newline at end of file