Skip to content

nedomru/URMconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

URMconfig - Remote Work Readiness Diagnostic System

Python PyQt5 License

Comprehensive system diagnostics tool for remote work capability assessment

πŸš€ Quick Start β€’ πŸ”§ Installation

πŸ“‹ Overview

URMconfig is a professional desktop application designed to comprehensively assess computer systems for remote work readiness. The application automatically evaluates all critical system components and provides detailed reports on workplace compatibility with remote work requirements.

✨ Key Features

  • 🌐 Internet Speed Testing - Download/upload speeds and latency measurement
  • πŸ’» Hardware Analysis - CPU, RAM, and GPU compatibility checks
  • πŸ”Œ Network Equipment Validation - Ethernet adapter detection and specifications
  • πŸ–₯️ Display Diagnostics - Screen resolution and graphics compatibility
  • πŸ’Ύ Storage Analysis - Available disk space verification
  • 🎀 Peripheral Testing - Microphone and webcam functionality
  • πŸ”§ Citrix Compatibility - Virtualization platform support verification
  • πŸ“Š Comprehensive Reporting - Exportable results with detailed recommendations

🎯 System Requirements

Minimum Requirements for Testing:

  • Internet Speed: β‰₯ 75 Mbps
  • Network: Ethernet connectivity capability
  • CPU: β‰₯ 2 cores
  • RAM: β‰₯ 4 GB
  • Display: β‰₯ 1600Γ—900 resolution
  • Storage: β‰₯ 10 GB free space
  • Peripherals: Microphone and HD webcam

Software Dependencies:

  • Python 3.7+
  • PyQt5
  • OpenCV (cv2)
  • PyAudio
  • psutil
  • WMI (Windows)

πŸš€ Quick Start

Option 1: Pre-built Executable

  1. Download the latest release from the releases page
  2. Run URMconfig.exe (Windows) or the appropriate executable for your platform
  3. Click "Start Test" to begin diagnostics

Option 2: Run from Source

# Clone the repository
git clone https://github.com/nedomru/URMconfig
cd urmconfig

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

πŸ”§ Installation

Prerequisites

Ensure you have Python 3.7 or higher installed on your system.

Install Dependencies

pip install PyQt5 psutil opencv-python-headless pyaudio wmi

Building Executable

To create a standalone executable:

# Install PyInstaller
pip install pyinstaller

# Build using the provided spec file
pyinstaller URMconfig.spec

The executable will be created in the dist/ directory.

πŸ“– How It Works

Diagnostic Process

The application performs diagnostics in four main phases:

  1. 🌐 Network Testing

    • Internet speed measurement using speedtest.net
    • Ethernet adapter detection and configuration
    • Network stability assessment
  2. πŸ’» Hardware Validation

    • CPU core count and specifications
    • RAM capacity and frequency
    • GPU detection and driver verification
    • Display resolution capabilities
  3. πŸ’Ύ Storage Analysis

    • Available disk space on system drive
    • Performance characteristics
  4. 🎀 Peripheral Detection

    • Microphone availability and functionality
    • Webcam detection with resolution testing
    • Audio/video quality assessment

Output and Reporting

  • Real-time progress updates with animated status indicators
  • Color-coded results (βœ… Pass / ❌ Fail)
  • Detailed technical specifications for each component
  • Copy-to-clipboard functionality for easy sharing
  • Comprehensive final report with recommendations

πŸ—οΈ Project Structure

urmconfig/
β”œβ”€β”€ main.py                 # Main application entry point
β”œβ”€β”€ URMconfig.spec         # PyInstaller configuration
β”œβ”€β”€ README.md              # Project documentation
β”œβ”€β”€ .gitignore            # Git ignore rules
β”œβ”€β”€ assets/               # Application resources
β”‚   β”œβ”€β”€ logo.png         # Application logo
β”‚   └── app-logo.png     # Icon for executable
└── utils/               # Utility modules
    β”œβ”€β”€ __init__.py      # Package initialization
    β”œβ”€β”€ cpu.py          # CPU information utilities
    β”œβ”€β”€ gpu.py          # GPU detection and analysis
    β”œβ”€β”€ internet.py     # Network testing functions
    β”œβ”€β”€ peripherals.py  # Audio/video device detection
    └── system.py       # System information utilities

πŸ” Technical Details

Architecture

  • GUI Framework: PyQt5 with custom styled components
  • Threading: Background diagnostics to maintain UI responsiveness
  • Modular Design: Separated utility modules for different system aspects

Key Components

Main Application (main.py)

  • SystemDiagnosticsApp: Main window and UI management
  • DiagnosticsThread: Background worker for system testing
  • RoundedButton: Custom UI component with modern styling

Utility Modules

  • utils.cpu: CPU information retrieval and analysis
  • utils.gpu: Graphics card detection and driver verification
  • utils.internet: Network speed testing and adapter detection
  • utils.peripherals: Audio/video device enumeration
  • utils.system: OS compatibility and system information

Citrix Compatibility Matrix

The application includes comprehensive Citrix Workspace App compatibility checking based on:

  • Windows 10/11 build numbers
  • Specific version requirements for each OS build
  • Version recommendation engine

πŸ› οΈ Development

Setting up Development Environment

# Clone and setup
git clone https://github.com/nedomru/URMconfig
cd urmconfig
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

Running Tests

python main.py

Building for Distribution

pyinstaller URMconfig.spec

πŸ“Š Diagnostic Criteria

Component Requirement Test Method
Internet Speed β‰₯75 Mbps download speedtest-cli
CPU Cores β‰₯2 physical cores psutil + registry
RAM β‰₯4 GB total psutil memory info
Display β‰₯1600Γ—900 resolution PyQt5 desktop geometry
Storage β‰₯10 GB free space psutil disk usage
Ethernet Active adapter present netsh/ip commands
Microphone Functional device PyAudio enumeration
Webcam HD capability (β‰₯720p) OpenCV device testing
Citrix OS build compatibility Version matrix lookup

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project uses a custom license. Please refer to the license agreement for terms and conditions.

πŸ†˜ Support

For support and questions:

  • Check the documentation above
  • Review the license agreement
  • Contact system administrators for enterprise deployments

πŸ† Acknowledgments

  • Built with PyQt5 for cross-platform GUI development
  • Uses OpenCV for advanced camera detection
  • Powered by speedtest-cli for accurate network measurements
  • System information provided by psutil

URMconfig - Ensuring Remote Work Readiness

About

Remote work readiness diagnostic system

Resources

Stars

Watchers

Forks

Contributors

Languages