S.P.A.R is a cross-platform system monitoring application for Ubuntu Linux that provides real-time insights into CPU, memory, disk usage, and running processes. It supports both desktop and mobile platforms, enabling users to track system health anytime, anywhere.
- View real-time system metrics
- Responsive UI with Tailwind CSS
- Builds for
.exe,.deb,.tar.gz
- Monitors system metrics
- Supports accessibility: VoiceOver, Dynamic Type
- Face ID integration (Keychain)
- Interaction logging for future analytics
- RESTful API with Spring Boot
- Metrics collected using Node.js (
systeminformation,ps-list) - MySQL used for data storage
- API exposes CPU, memory, disk, battery, processes
| Layer | Technology |
|---|---|
| Desktop UI | Electron, React, Tailwind CSS |
| Mobile App | SwiftUI, Combine, Swift 5 |
| Backend API | Spring Boot (Java), Node.js |
| Data Storage | MySQL |
| Metrics Lib | systeminformation, ps-list |
| Tools | Xcode 15, IntelliJ, VS Code |
git clone https://github.com/MSCS-Capping/MSCS_Spring2025_Capping.git
cd MSCS_Spring2025_Cappingcd Electron_Frontend
npm install
cd renderer
npm install
cd ../
npm start # Dev mode
npm run package # Build installer- cd SPAR_iOS
- cd SPAR
- Open
spar.xcodeprojin Xcode 15 - Run on simulator or device
- View process metrics and test accessibility + logging features
cd spar
./mvnw spring-boot:runEnsure Spring Boot API is running before starting the Electron app.
- iOS app uses GitHub Actions to ensure all unit and UI tests pass before any merge into
main - CI workflow runs on macOS runners with Xcode configured
- Prevents broken code from being merged into production
# .github/workflows/ios-tests.yml
name: iOS Tests
on: [pull_request]
jobs:
test:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Set up Xcode
run: xcodebuild -project iOSApp.xcodeproj -scheme iOSApp -destination 'platform=iOS Simulator,name=iPhone 14' test- Spring Boot backend is deployed using Render
- MySQL database also hosted via Render's managed database services
- Auto-deploy enabled from
Spring_Boot_Mainbranch - Environment variables (DB credentials, API keys) are stored securely in Render's dashboard
- ✅ Unit & Integration Tests for backend and frontend
- ♿ Accessibility tested with VoiceOver and Dynamic Type
- 🔒 Keychain integration for login credentials (iOS)
- 🔄 MySQL data backups and error recovery mechanisms
- Export reports (CSV, PDF)
- Android version
- Push Notification
- Chatbot
-
Abhijeet Cherungottil
📧 Abhijeet.Cherungottil1@marist.edu -
Sumanth Kumar Katapally
📧 SumanthKumar.Katapally1@marist.edu -
Arjun Suresh (AJ)
📧 Arjun.Suresh1@marist.edu
📽️ Watch it here: S.P.A.R Demo Video
- Electron Documentation
- Spring Boot
- System Information (NPM)
- SwiftUI Accessibility Guide
- Tailwind CSS
- Render Deployment Docs