Proyecto PSP
Go to file
javiermengual 3dd1252e71 Refactor code structure for improved readability and maintainability 2025-12-06 13:10:13 +01:00
.gitignore first commit 2025-12-05 18:52:29 +01:00
README.md Refactor code structure for improved readability and maintainability 2025-12-06 13:10:13 +01:00
dashboard.db-shm Refactor code structure for improved readability and maintainability 2025-12-06 13:10:13 +01:00
dashboard.db-wal Refactor code structure for improved readability and maintainability 2025-12-06 13:10:13 +01:00
main.py first commit 2025-12-05 18:52:29 +01:00
psp.png Refactor code structure for improved readability and maintainability 2025-12-06 13:10:13 +01:00
requirements.txt first commit 2025-12-05 18:52:29 +01:00
services.py first commit 2025-12-05 18:52:29 +01:00

README.md

PSP Dashboard

Dashboard web para monitorizar recursos del sistema. Básicamente es un proyecto para probar NiceGUI y jugar con procesos, threads y cosillas de Python.

enlace video: https://youtu.be/Fp-S5ptTtGg

alt text

Qué hace

  • Muestra hora del sistema en tiempo real
  • Tráfico de red (bajada/subida)
  • Uso de CPU y RAM con gráficos circulares
  • Contador de tareas activas
  • Editor de notas que se guarda en SQLite
  • Ejecutor de comandos (threads y procesos)
  • Sistema de alarmas
  • Web scraping básico
  • Reproductor de MP3
  • Backups automáticos

Cómo ejecutarlo

Necesitas Python 3.9 o superior.

# Clonar o descargar el proyecto
cd nicegui_app

# Crear entorno virtual
python3 -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate

# Instalar dependencias
pip install -r requirements.txt

# Ejecutar
python main.py

Abre el navegador en http://localhost:8080

Estructura

.
├── main.py          # UI y layout principal
├── services.py      # Lógica, threads, procesos
├── dashboard.db     # Base de datos SQLite
└── requirements.txt

Dependencias

  • NiceGUI para la interfaz web
  • psutil para métricas del sistema
  • requests y beautifulsoup4 para scraping

Notas

El proyecto usa multiprocessing y threading para demostrar concurrencia. La BD se inicializa automáticamente al arrancar.

Los backups se guardan en la carpeta backups/ si usas esa función.