Skip to content

MSCS-Capping/MSCS_Spring2025_Capping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖥️ System Processes and Analysis Reporting (S.P.A.R)

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.


📦 Components

🔹 Desktop App (Electron + React)

  • View real-time system metrics
  • Responsive UI with Tailwind CSS
  • Builds for .exe, .deb, .tar.gz

🔹 iOS App (SwiftUI)

  • Monitors system metrics
  • Supports accessibility: VoiceOver, Dynamic Type
  • Face ID integration (Keychain)
  • Interaction logging for future analytics

🔹 Backend Services

  • 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

🧰 Tech Stack

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

🚀 Getting Started

📁 Clone Repo

git clone https://github.com/MSCS-Capping/MSCS_Spring2025_Capping.git
cd MSCS_Spring2025_Capping

🖥️ Desktop App

cd Electron_Frontend
npm install
cd renderer
npm install
cd ../
npm start        # Dev mode
npm run package  # Build installer

📱 iOS App

  1. cd SPAR_iOS
  2. cd SPAR
  3. Open spar.xcodeproj in Xcode 15
  4. Run on simulator or device
  5. View process metrics and test accessibility + logging features

🔧 Backend API

cd spar
./mvnw spring-boot:run

Ensure Spring Boot API is running before starting the Electron app.


🔄 Actions & Deployment

✅ GitHub Actions

  • 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

🚀 Render Deployment

  • Spring Boot backend is deployed using Render
  • MySQL database also hosted via Render's managed database services
  • Auto-deploy enabled from Spring_Boot_Main branch
  • Environment variables (DB credentials, API keys) are stored securely in Render's dashboard

🔐 Security & Testing

  • ✅ 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

🌱 Future Enhancements

  • Export reports (CSV, PDF)
  • Android version
  • Push Notification
  • Chatbot

👥 Contributors


🎥 Demo Video

📽️ Watch it here: S.P.A.R Demo Video


📚 References


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •