BTop-like system monitor - Backend .NET10 + Frontend Angular20 + Mobile MAUI
  • C# 68.6%
  • TypeScript 24.5%
  • Shell 3.2%
  • CSS 2.5%
  • Dockerfile 0.6%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sergio Bot 009b00995d chore: eliminar Console.WriteLine de inicio de Program.cs
- Se removieron los 6 logs en pantalla que mostraban plataforma, URL, intervalos y endpoints
- La API arranca silenciosamente ahora
2026-06-10 20:19:54 -06:00
backend chore: eliminar Console.WriteLine de inicio de Program.cs 2026-06-10 20:19:54 -06:00
docker fix: change backend port from 5000 to 5001 to avoid conflict 2026-06-01 20:52:19 -06:00
docs fix: Agregar campo User a ProcessInfo y actualizar collectors 2026-06-05 01:14:21 -06:00
frontend feat(net): per-interface sparklines with colors and expand modal per US-CHART-001 2026-06-03 21:21:51 -06:00
mobile US-WIN-001: Agregar AvailableGB y CachedGB a RamMetrics en backend y mobile 2026-06-05 18:49:44 -06:00
scripts fix: simplify RAM bar to 2 segments (used + free) like BTop 2026-06-02 00:20:52 -06:00
.gitattributes chore: initial monorepo structure 2026-06-01 01:11:11 -06:00
.gitignore chore: Ignorar archivos core dump 2026-06-05 01:36:51 -06:00
docker-compose.yml refactor: Backend multi-SO + Strategy Pattern + Linux/macOS refactor + infra Docker 2026-06-05 00:49:42 -06:00
README.md refactor: Backend multi-SO + Strategy Pattern + Linux/macOS refactor + infra Docker 2026-06-05 00:49:42 -06:00

BTop Monitor

Dashboard de monitoreo de sistema en tiempo real (CPU, RAM, Discos, Red, Procesos) con backend .NET 10 y frontend Angular 20.

Requisitos

  • .NET 10 SDK
  • Node.js 20+ (solo para desarrollo del frontend)
  • Opcional: Docker y Docker Compose

Instalación

Linux

# Instalar .NET 10 (si no lo tienes)
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 10.0

# Clonar y ejecutar
git clone http://192.168.3.216:3000/JMarin1980/btop-monitor.git
cd btop-monitor
dotnet run --project backend/BTopServer/BTopServer.Api

macOS

# Instalar .NET 10 via brew
brew install dotnet

# Clonar y ejecutar
git clone http://192.168.3.216:3000/JMarin1980/btop-monitor.git
cd btop-monitor
dotnet run --project backend/BTopServer/BTopServer.Api

Windows

# Instalar .NET 10 desde https://dotnet.microsoft.com/download
# Clonar y ejecutar
git clone http://192.168.3.216:3000/JMarin1980/btop-monitor.git
cd btop-monitor
dotnet run --project backend/BTopServer/BTopServer.Api

Docker

cd docker
docker compose -f docker-compose.dev.yml up --build

Configuración

El servidor escucha en http://0.0.0.0:5001 por defecto. Para cambiar el puerto:

ASPNETCORE_URLS=http://0.0.0.0:8080 dotnet run --project backend/BTopServer/BTopServer.Api

También se puede modificar directamente en BTopServer.Api/appsettings.json bajo Kestrel:Endpoints:Http:Url.

Endpoints

Método Ruta Descripción
GET /api/metrics Snapshot completo (CPU, RAM, discos, red, procesos)
GET /api/metrics/processes Solo la lista de procesos
GET /api/metrics/history/{seconds} Histórico de métricas (N segundos)

SignalR

Hub Ruta Evento
MetricsHub /hubs/metrics MetricsSnapshot

El backend transmite métricas en tiempo real cada 2 segundos (configurable via appsettings.json).

Frontend

Acceder en:

  • Docker: http://localhost:3000
  • Desarrollo: http://localhost:4200 (ejecutar ng serve dentro de frontend/)

Ingresar la IP y puerto del backend para conectar vía SignalR.

Solución de Problemas

Problema Solución
Puerto ocupado Cambiar con ASPNETCORE_URLS=http://0.0.0.0:8080
/proc no accesible en Linux Verificar permisos del contenedor/CT (necesita acceso a /proc)
CORS Configurar en appsettings.json bajo Cors:AllowedOrigins
SDK no encontrado Verificar instalación: dotnet --list-sdks debe mostrar 10.x
npm install falla Usar Node.js 20+ y npm actualizado (npm install -g npm@latest)