{"id":51476002,"url":"https://github.com/alberto2005-coder/monitorpro","last_synced_at":"2026-07-06T21:01:07.334Z","repository":{"id":343422112,"uuid":"1177668406","full_name":"alberto2005-coder/MonitorPro","owner":"alberto2005-coder","description":"Monitor de sistema en tiempo real para macOS · Real-time macOS system monitor","archived":false,"fork":false,"pushed_at":"2026-03-10T09:47:12.000Z","size":594,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-10T16:08:33.591Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alberto2005-coder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-10T08:52:45.000Z","updated_at":"2026-03-10T09:47:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alberto2005-coder/MonitorPro","commit_stats":null,"previous_names":["alberto2005-coder/monitorpro"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alberto2005-coder/MonitorPro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2FMonitorPro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2FMonitorPro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2FMonitorPro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2FMonitorPro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alberto2005-coder","download_url":"https://codeload.github.com/alberto2005-coder/MonitorPro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2FMonitorPro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35205739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-06T21:01:06.178Z","updated_at":"2026-07-06T21:01:07.306Z","avatar_url":"https://github.com/alberto2005-coder.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# ⚡ MonitorPro\n\n**Monitor de sistema en tiempo real para macOS · Real-time macOS system monitor**\n\n[![Swift](https://img.shields.io/badge/Swift-5.9+-FA7343?style=for-the-badge\u0026logo=swift\u0026logoColor=white)](https://swift.org)\n[![Platform](https://img.shields.io/badge/macOS-13%2B-000000?style=for-the-badge\u0026logo=apple\u0026logoColor=white)](https://www.apple.com/macos)\n[![SwiftUI](https://img.shields.io/badge/SwiftUI-Framework-0F62FE?style=for-the-badge\u0026logo=swift\u0026logoColor=white)](https://developer.apple.com/xcode/swiftui/)\n[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)\n\n\u003c/div\u003e\n\n---\n\n## 🌐 Idiomas · Languages\n\n- 🇪🇸 [Español](#-español)\n- 🇬🇧 [English](#-english)\n\n---\n\n# 🇪🇸 Español\n\n## 📋 Índice\n\n1. [¿Qué es MonitorPro?](#-qué-es-monitorpro)\n2. [Capturas de pantalla](#-capturas-de-pantalla)\n3. [Características](#-características)\n4. [Requisitos](#-requisitos)\n5. [Instalación](#-instalación)\n6. [Uso](#-uso)\n7. [Arquitectura del proyecto](#-arquitectura-del-proyecto)\n8. [Tecnologías utilizadas](#-tecnologías-utilizadas)\n9. [Contribuir](#-contribuir)\n10. [Licencia](#-licencia)\n\n---\n\n## 🚀 ¿Qué es MonitorPro?\n\n**MonitorPro** es una aplicación nativa de **barra de menú para macOS** que te permite monitorear los recursos de tu Mac en tiempo real, directamente desde la barra superior del sistema. Sin ventanas flotantes, sin distracciones — siempre a un clic de distancia.\n\n\u003e 💡 Diseñado para ser **ligero**, **discreto** y **siempre visible** en tu flujo de trabajo diario.\n\n---\n\n## 📸 Capturas de pantalla\n\n\u003cdiv align=\"center\"\u003e\n\n### V2 - Gráficos, Red y Menú Dinámico\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshots/screenshot_v2_1.png\" width=\"45%\" alt=\"MonitorPro V2 Dashboard\" /\u003e\n  \u003cimg src=\"screenshots/screenshot_v2_2.png\" width=\"45%\" alt=\"MonitorPro V2 Menu\" /\u003e\n\u003c/p\u003e\n\n*Dashboard desplegable de MonitorPro V2 en acción*\n\n### V1 - Versión Inicial\n![MonitorPro Dashboard V1](screenshots/screenshot.png)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Características\n\n| Métrica            | Descripción                                              | Actualización |\n|--------------------|----------------------------------------------------------|---------------|\n| 🟠 **CPU**        | Nombre y modelo del procesador                           | Al inicio     |\n| 🔵 **Núcleos**    | Número de núcleos activos                                | Al inicio     |\n| 🟢 **Uptime**     | Tiempo de actividad del sistema                          | Cada segundo  |\n| ⚫ **Disco**      | Espacio libre y total en GB                              | Cada segundo  |\n| 📊 **Carga CPU**  | Uso real por diferencial de ticks (user+sys vs idle)     | Cada segundo  |\n| 💾 **RAM App**    | Memoria RAM usada por la app                             | Cada segundo  |\n\n- ✅ Vive en la **barra de menú** — no ocupa espacio en el Dock\n- ✅ Interfaz **nativa SwiftUI** — fluida y eficiente\n- ✅ Actualizaciones en **tiempo real** (cada 1 segundo)\n- ✅ Carga de CPU **medida con precisión real** por núcleo (diferencial de ticks)\n- ✅ Botón para **cerrar** la app desde el propio dashboard\n- ✅ **0 dependencias externas** — usa únicamente frameworks de Apple\n\n---\n\n## 🛠 Requisitos\n\n- **macOS** 13 Ventura o superior\n- **Xcode** 15 o superior\n- **Swift** 5.9 o superior\n- Mac con arquitectura Apple Silicon o Intel\n\n---\n\n## 📦 Instalación\n\n### Desde el código fuente\n\n1. **Clona el repositorio:**\n   ```bash\n   git clone https://github.com/alberto2005-coder/MonitorPro.git\n   cd MonitorPro\n   ```\n\n2. **Abre el proyecto en Xcode:**\n   ```bash\n   open MonitorPro.xcodeproj\n   ```\n\n3. **Selecciona tu Mac como destino** en la barra de Xcode.\n\n4. **Compila y ejecuta** con `⌘ + R`.\n\n\u003e ⚠️ Es posible que necesites configurar tu **Team de desarrollo** en *Signing \u0026 Capabilities* con tu Apple ID.\n\n---\n\n## 📖 Uso\n\n1. Al ejecutar la app, verás un icono dinámico en tu barra de menú superior con el % de CPU.\n2. Haz **clic** en el icono para abrir el dashboard.\n3. Visualiza en tiempo real el estado de tu sistema (Gráfica de CPU, Red, Disco, etc).\n4. Haz clic en el **engranaje ⚙️** superior derecho para habilitar el **Auto-arranque** o salir de la app.\n\n---\n\n## 🗂 Arquitectura del proyecto\n\n```\nMonitorPro/\n├── MonitorPro/\n│   ├── MonitorProApp.swift      # Punto de entrada — MenuBarExtra\n│   ├── ContentView.swift        # UI principal del dashboard\n│   ├── MonitorPro.entitlements  # Permisos de la app\n│   └── Assets.xcassets/         # Recursos (iconos, colores)\n├── SystemMonitor.swift          # Lógica de monitoreo del sistema\n├── MonitorProTests/             # Tests unitarios\n├── MonitorProUITests/           # Tests de interfaz\n├── MonitorPro.xcodeproj/        # Configuración del proyecto Xcode\n├── .gitignore\n├── .gitattributes\n└── README.md\n```\n\n### Flujo de datos\n\n```\nSystemMonitor (ObservableObject)\n    │\n    ├── init() ──► getCPUName()  (una sola vez)\n    │\n    ├── Timer cada 1s ──► getMemoryUsage()   → usageMB\n    │                ──► updateDiskSpace()   → diskFreeGB, diskTotalGB\n    │                ──► getUptime()         → uptime\n    │                ──► updateCPULoad()     → cpuLoad (ticks reales)\n    │\n    ├── deinit ──► timer.invalidate()  (limpieza de memoria)\n    │\n    └── @Published vars ──► ContentView (SwiftUI) ──► UI actualizada\n```\n\n---\n\n## 🧰 Tecnologías utilizadas\n\n| Tecnología             | Uso                                          |\n|------------------------|----------------------------------------------|\n| **SwiftUI**            | Framework de interfaz de usuario             |\n| **Foundation**         | Manejo de procesos y sistema                 |\n| **MenuBarExtra**       | Integración en barra de menú                 |\n| **mach / sysctlbyname**| Lectura de métricas del sistema a bajo nivel |\n| **FileManager**        | Consulta del espacio en disco                |\n\n---\n\n## 🤝 Contribuir\n\n¡Las contribuciones son bienvenidas! Si quieres mejorar MonitorPro:\n\n1. Haz un **fork** del repositorio\n2. Crea una rama: `git checkout -b feature/nueva-funcionalidad`\n3. Haz tus cambios y commitea: `git commit -m \"feat: añadir nueva funcionalidad\"`\n4. Haz **push**: `git push origin feature/nueva-funcionalidad`\n5. Abre un **Pull Request**\n\n---\n\n## 📄 Licencia\n\nEste proyecto está bajo la licencia **MIT**. Consulta el archivo [LICENSE](LICENSE) para más detalles.\n\n---\n\n\u003cdiv align=\"center\"\u003e\nHecho con ❤️ y Swift en macOS\n\u003c/div\u003e\n\n---\n---\n\n# 🇬🇧 English\n\n## 📋 Table of Contents\n\n1. [What is MonitorPro?](#-what-is-monitorpro)\n2. [Screenshots](#-screenshots)\n3. [Features](#-features)\n4. [Requirements](#-requirements)\n5. [Installation](#-installation)\n6. [Usage](#-usage)\n7. [Project Architecture](#-project-architecture)\n8. [Technologies Used](#-technologies-used)\n9. [Contributing](#-contributing)\n10. [License](#-license)\n\n---\n\n## 🚀 What is MonitorPro?\n\n**MonitorPro** is a native **macOS menu bar application** that lets you monitor your Mac's resources in real time, directly from the system's top bar. No floating windows, no distractions — always one click away.\n\n\u003e 💡 Designed to be **lightweight**, **unobtrusive**, and **always visible** in your daily workflow.\n\n---\n\n## 📸 Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n### V2 - Charts, Network \u0026 Dynamic Menu\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshots/screenshot_v2_1.png\" width=\"45%\" alt=\"MonitorPro V2 Dashboard\" /\u003e\n  \u003cimg src=\"screenshots/screenshot_v2_2.png\" width=\"45%\" alt=\"MonitorPro V2 Menu\" /\u003e\n\u003c/p\u003e\n\n*MonitorPro V2 dropdown dashboard in action*\n\n### V1 - Initial Release\n![MonitorPro Dashboard V1](screenshots/screenshot.png)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n| Metric             | Description                                              | Refresh Rate |\n|--------------------|----------------------------------------------------------|--------------|\n| 🟠 **CPU**         | Processor name and model                                 | On start     |\n| 🔵 **Cores**       | Number of active processor cores                         | On start     |\n| 🟢 **Uptime**      | System uptime                                            | Every second |\n| ⚫ **Disk**        | Free and total disk space in GB                          | Every second |\n| 📊 **CPU Load**    | Real usage via tick differential (user+sys vs idle)      | Every second |\n| 💾 **App RAM**     | RAM memory used by the app                               | Every second |\n\n- ✅ Lives in the **menu bar** — no Dock icon\n- ✅ Native **SwiftUI** interface — smooth and efficient\n- ✅ **Real-time** updates (every 1 second)\n- ✅ CPU load measured with **real per-core tick differential**\n- ✅ **Close** button built into the dashboard\n- ✅ **Zero external dependencies** — uses only Apple frameworks\n\n---\n\n## 🛠 Requirements\n\n- **macOS** 13 Ventura or later\n- **Xcode** 15 or later\n- **Swift** 5.9 or later\n- Mac with Apple Silicon or Intel architecture\n\n---\n\n## 📦 Installation\n\n### From source code\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/alberto2005-coder/MonitorPro.git\n   cd MonitorPro\n   ```\n\n2. **Open the project in Xcode:**\n   ```bash\n   open MonitorPro.xcodeproj\n   ```\n\n3. **Select your Mac as the target** in Xcode's toolbar.\n\n4. **Build and run** with `⌘ + R`.\n\n\u003e ⚠️ You may need to configure your **development Team** in *Signing \u0026 Capabilities* with your Apple ID.\n\n---\n\n## 📖 Usage\n\n1. When you launch the app, a dynamic icon appears in your top menu bar showing the CPU %.\n2. **Click** the icon to open the dashboard.\n3. View your system's stats in real time (CPU Chart, Network, Disk, etc).\n4. Click the **gear icon ⚙️** at the top right to enable **Launch at login** or quit the app.\n\n---\n\n## 🗂 Project Architecture\n\n```\nMonitorPro/\n├── MonitorPro/\n│   ├── MonitorProApp.swift      # Entry point — MenuBarExtra\n│   ├── ContentView.swift        # Main dashboard UI\n│   ├── MonitorPro.entitlements  # App permissions\n│   └── Assets.xcassets/         # Resources (icons, colors)\n├── SystemMonitor.swift          # System monitoring logic\n├── MonitorProTests/             # Unit tests\n├── MonitorProUITests/           # UI tests\n├── MonitorPro.xcodeproj/        # Xcode project configuration\n├── .gitignore\n├── .gitattributes\n└── README.md\n```\n\n### Data Flow\n\n```\nSystemMonitor (ObservableObject)\n    │\n    ├── init() ──► getCPUName()  (once)\n    │\n    ├── Timer every 1s ──► getMemoryUsage()   → usageMB\n    │                 ──► updateDiskSpace()   → diskFreeGB, diskTotalGB\n    │                 ──► getUptime()         → uptime\n    │                 ──► updateCPULoad()     → cpuLoad (real ticks)\n    │\n    ├── deinit ──► timer.invalidate()  (memory cleanup)\n    │\n    └── @Published vars ──► ContentView (SwiftUI) ──► Updated UI\n```\n\n---\n\n## 🧰 Technologies Used\n\n| Technology              | Usage                                          |\n|-------------------------|------------------------------------------------|\n| **SwiftUI**             | User interface framework                       |\n| **Foundation**          | Process and system management                  |\n| **MenuBarExtra**        | Menu bar integration                           |\n| **mach / sysctlbyname** | Low-level system metrics reading               |\n| **FileManager**         | Disk space queries                             |\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! To improve MonitorPro:\n\n1. **Fork** the repository\n2. Create a branch: `git checkout -b feature/new-feature`\n3. Make your changes and commit: `git commit -m \"feat: add new feature\"`\n4. **Push**: `git push origin feature/new-feature`\n5. Open a **Pull Request**\n\n---\n\n## 📄 License\n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\nMade with ❤️ and Swift on macOS\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberto2005-coder%2Fmonitorpro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falberto2005-coder%2Fmonitorpro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberto2005-coder%2Fmonitorpro/lists"}