Skip to content

Repository files navigation

TechnicianHub 🔧

Professional IT Technician Management Software built with Electron, React, and TypeScript.

A comprehensive desktop application designed for IT technicians to manage customers, jobs, invoices, and perform technical operations all in one place.

✨ Features

Customer & Job Management

  • Customer Management - Complete CRM for managing customer information, contacts, and history
  • Job Tracking - Track jobs with status, priority, device info, and detailed checklists
  • Invoice Generation - Create and manage invoices with automatic calculations and PDF export
  • Reports & Analytics - Dashboard with statistics, job performance tracking

Technical Operations

🔧 Tools Dashboard

  • Central hub for all technical tools
  • Tool availability indicators
  • Recent operations tracking
  • Quick access to all features

🤖 Android Tools (ADB)

  • Device detection and information
  • Full device backup and restore
  • APK installation
  • File transfer (push/pull)
  • Screenshot capture
  • Device reboot (system/recovery/bootloader)
  • Operation history logging

💾 Data Transfer

  • Wizard-based file transfer between PCs
  • Quick select common folders (Desktop, Documents, Pictures, etc.)
  • Size estimation and space verification
  • Real-time progress with speed and ETA
  • File integrity verification (MD5)

🌐 Network Tools

  • Ping and Traceroute
  • Port scanner (1-65535) with service detection
  • Network information (interfaces, gateway, DNS, public IP)
  • Speed test (download/upload/ping)
  • ARP network device scanner
  • Endpoint connectivity testing

💻 System Information

  • Complete hardware information (CPU, RAM, Storage, GPU, Motherboard)
  • Real-time CPU usage monitoring
  • Installed drivers list
  • Installed programs list
  • System report export (TXT/JSON)

Software Management

  • Post-Format Installer - Automated software installation with custom bundles
  • Software Bundle Manager - Create and manage software packages
  • Silent installation support
  • Installation validation

🚀 Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Git
  • Windows 10/11 (for full features)

Installation

# Clone the repository
git clone https://github.com/yourusername/TechnicianHub.git
cd TechnicianHub

# Install dependencies
npm install

# Start development server
npm run dev

Build

# Build for production
npm run build

# Build Windows installer
npm run build:win

# Build for macOS
npm run build:mac

# Build for Linux
npm run build:linux

📁 Project Structure

TechnicianHub/
├── electron/               # Electron main process
│   ├── services/          # Backend services
│   ├── database/          # SQLite database & migrations
│   ├── main.ts           # Electron entry point
│   └── preload.ts        # IPC bridge
├── src/                   # React frontend
│   ├── pages/            # Application pages
│   ├── components/       # Reusable components
│   ├── types/            # TypeScript definitions
│   └── App.tsx           # Main app component
├── public/               # Static assets
└── package.json         # Dependencies and scripts

🛠️ Tech Stack

Frontend

  • React 18 - UI framework
  • TypeScript - Type safety
  • Tailwind CSS - Styling
  • React Router - Navigation
  • React Hook Form - Form management
  • Zod - Schema validation
  • React Hot Toast - Notifications
  • Lucide React - Icons

Backend

  • Electron - Desktop framework
  • Node.js - Runtime
  • Better SQLite3 - Database
  • IPC Communication - Frontend-Backend bridge

Tools Integration

  • ADB (Android Debug Bridge) - Android operations
  • Native Windows Commands - System information and network tools

🔑 Key Technologies

  • Electron IPC - Secure communication between frontend and backend
  • SQLite Database - Local data persistence with migrations
  • Service Layer Pattern - Clean architecture with separated concerns
  • Type-Safe APIs - Full TypeScript coverage
  • Progress Tracking - Real-time operation progress with IPC events

📖 Usage

Android Operations

  1. Connect Android device via USB
  2. Enable USB debugging on device
  3. Navigate to Tools > Android Tools
  4. Click "Refresh" to detect device
  5. Select desired operation (Backup, Restore, Install APK, etc.)

Data Transfer

  1. Navigate to Tools > Data Transfer
  2. Follow the 4-step wizard:
    • Select source folders
    • Select destination
    • Review and verify space
    • Start transfer

Network Diagnostics

  1. Navigate to Tools > Network Tools
  2. Select operation tab (Ping, Port Scan, Speed Test, etc.)
  3. Enter target host/IP
  4. Execute operation

System Information

  1. Navigate to Tools > System Info
  2. View comprehensive hardware/software information
  3. Export report if needed

🔐 Security

  • No external API calls for sensitive operations
  • Local database storage
  • IPC context isolation enabled
  • Sandboxed renderer process

📝 Database

The application uses SQLite for local data storage:

  • Customers and contacts
  • Jobs and checklists
  • Invoices and line items
  • Software bundles and items
  • Operational logs (Android, Network, Data Transfer)
  • Settings and preferences

Migrations are automatically applied on startup.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

MIT License - see LICENSE file for details

🙏 Acknowledgments

  • Built with Electron
  • UI components inspired by modern design principles
  • Icons by Lucide

📧 Support

For issues and feature requests, please use the GitHub issue tracker.


Made with ❤️ for IT Technicians

About

Professional IT Technician Management Software - Desktop application for managing customers, jobs, invoices, and performing technical operations

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages