-
Notifications
You must be signed in to change notification settings - Fork 2
Build system
Abhijeet C edited this page Mar 30, 2025
·
1 revision
This project consists of a desktop application (Electron) and an iOS application designed to collect and display system metrics such as CPU usage, memory consumption, disk utilization, and more. The backend is powered by Spring Boot and Node.js, handling data persistence and API exposure for metric collection.
- Frontend (Desktop App): Electron, React, Tailwind CSS
- Frontend (iOS App): Swift (with accessibility features & logging)
- Backend: Spring Boot (Java)
- Metrics Collection: Node.js (using system APIs)
- Communication: REST APIs over HTTP
- Database: (To be specified, assumed SQL or NoSQL)
- Built with Electron for cross-platform compatibility.
- Uses React & Tailwind CSS for UI.
- Runs in development mode with
npm start. - Packaged into an installer (.exe) using
npm run package. - Loads dummy data for testing purposes.
- Built with Swift.
- Uses logging for tracking interactions across different pages.
- Fully accessible, including support for dynamic text resizing and voice-over descriptions.
- Simulated testing available through the iOS simulator.
- Displays mock UI and dummy data for demonstration purposes.
- Spring Boot handles data persistence and REST API exposure.
- Node.js collects system metrics and communicates with the backend.
- Uses Electron Renderer to fetch and process system-level metrics.
- Collected Metrics:
- Device specifications (CPU, RAM, manufacturer, OS details)
- CPU, Memory, Disk Usage, Disk I/O, Network, Battery
- Process Metrics (running processes, user IDs, etc.)
- Clone the repository.
- Navigate to the Electron app directory.
- Install dependencies:
npm install - Run in development mode:
npm start - To build the installer:
npm run package
- Open the project in Xcode.
- Run on a simulator or physical device.
- Run the Spring Boot server.
- Execute the Node.js script to start metrics collection.
- Ensure the Electron app is configured to send data to the backend.
- Electron app loads system metrics from the local machine.
- iOS app provides an accessible UI with logging for user interactions.
- Backend collects and persists system metrics via Node.js and Spring Boot.
📺 Watch the full build system demo here: YouTube Link
- Implement real-time metric visualization.
- Secure API endpoints.
- Expand compatibility for different OS versions.
This project provides an end-to-end system monitoring solution with a desktop and mobile client, a backend, and real-time data collection. 🚀