Skip to content

HelpMe is a modern, open-source helpdesk ticket system specifically designed for IT Managed Service Providers (MSPs). Built with scalability, security, and ease of use in mind, it provides comprehensive ticket management, client communication, and reporting capabilities.

License

Notifications You must be signed in to change notification settings

RossNicholson/HelpMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HelpMe Logo

HelpMe - The Premier On-Premise Helpdesk for IT Managed Service Providers

License: MIT Node.js React TypeScript Buy Me a Coffee

🎯 Why Choose HelpMe?

HelpMe is the best choice for Managed Service Providers (MSPs) who demand full control, privacy, and security.

  • On-Premise & Private Cloud: Unlike SaaS solutions, HelpMe is designed to run on your own infrastructureβ€”on-premises or in your private cloud. Your data never leaves your environment, giving you complete control and peace of mind.
  • No Reliance on Third-Party SaaS: Avoid the risks of vendor lock-in, data breaches, and compliance headaches. HelpMe puts you in charge of your helpdesk and your clients' sensitive information.
  • Built for ITIL Best Practices: Every workflow, process, and feature in HelpMe is designed to align with ITIL (Information Technology Infrastructure Library) best practices, ensuring your MSP operates at the highest standard of service management.

πŸ† Overview

HelpMe is a modern, open-source helpdesk ticket system specifically designed for IT Managed Service Providers (MSPs). Built with scalability, security, and ease of use in mind, it provides comprehensive ticket management, client communication, and reporting capabilitiesβ€”all while giving you full control over your data and compliance.

β˜• Support the Project

If you find HelpMe useful, please consider supporting its development:

Buy Me a Coffee

Your support helps keep HelpMe free and open source! 🌟

πŸš€ Professional Services

Need help setting up HelpMe or want custom features? I offer professional services:

  • HelpMe Setup & Configuration - Get your helpdesk running quickly
  • Custom Development - Build features specific to your workflow
  • Integration Services - Connect with your existing tools

Contact: [email protected] | rossnicholson.dev

✨ Features

Core Functionality

  • ITIL-Aligned Ticket Management - Create, track, and resolve support tickets with workflows that follow ITIL best practices
  • Multi-tenant Architecture - Support for multiple clients and organizations
  • Priority & SLA Management - Configurable priority levels and service level agreements, fully ITIL-compliant
  • Asset Management - Track client devices, software, and infrastructure
  • Knowledge Base - Centralized documentation and solutions database
  • Time Tracking - Built-in time tracking for billing and productivity
  • Reporting & Analytics - Comprehensive reporting dashboard

MSP-Specific Features

  • Client Portal - Self-service portal for clients to submit and track tickets
  • Automated Notifications - Email and SMS notifications for ticket updates
  • Integration Ready - APIs for third-party integrations (PSA, RMM, etc.)
  • Multi-location Support - Manage multiple client locations
  • Contract Management - Track service agreements and billing
  • Escalation Rules - Automated ticket escalation based on SLA

Security & Deployment

  • On-Premise or Private Cloud - Deploy HelpMe on your own servers or private cloud for maximum security and compliance
  • No SaaS Dependency - Your data, your rulesβ€”no third-party SaaS risk
  • Role-based Access Control - Granular permissions system
  • Audit Logging - Complete audit trail for compliance

Technical Features

  • Modern Tech Stack - React, Node.js, TypeScript, PostgreSQL
  • Real-time Updates - WebSocket support for live notifications
  • Mobile Responsive - Works seamlessly on desktop and mobile
  • API-First Design - RESTful API for easy integrations

πŸ†• Latest Features (v2.0)

Enhanced Search & Filtering

  • Global Search - Search across tickets, clients, users, and assets with real-time results
  • Advanced Filters - Filter by status, priority, client, date ranges, and custom criteria
  • Smart Results - Intelligent search with highlighting and result summaries
  • Saved Searches - Save and reuse common search queries

ITIL-Compliant Customer Management

  • Primary Contacts - Designate primary contact users for each customer with full contact details
  • Customer Users - Manage multiple users within each customer organization
  • Role-based Permissions - Granular permissions for customer users (primary contact, secondary contact, billing contact, technical contact, end user)
  • ITIL Terminology - Proper ITIL terminology throughout the interface (Customers, Users, etc.)

Improved Ticket Workflow

  • New Status System - Streamlined ticket statuses: Unassigned β†’ Assigned β†’ In Progress β†’ Closed
  • Automatic Status Updates - Status automatically updates based on ticket assignment
  • Enhanced Ticket Views - Modal view for quick ticket inspection and full edit pages
  • Better Assignment Logic - Clear workflow from unassigned to assigned tickets

Comprehensive Audit & Security

  • Audit Logging - Complete audit trail of all system activities
  • Security Events - Track login attempts, permission changes, and data modifications
  • Compliance Reporting - Built-in compliance reports for regulatory requirements
  • User Activity Monitoring - Monitor user actions and system usage

Advanced Analytics & Reporting

  • SLA Compliance Tracking - Monitor SLA violations and response times
  • Performance Metrics - Track ticket resolution times, customer satisfaction, and team productivity
  • Custom Dashboards - Create personalized dashboards with key metrics
  • Export Capabilities - Export reports in multiple formats

Enhanced Client Portal

  • Self-Service Features - Clients can create tickets, view knowledge base, and track progress
  • User Management - Clients can manage their own users and permissions
  • Real-time Updates - Live notifications and status updates
  • Mobile-Friendly - Responsive design for mobile access

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL 14+
  • Redis (for caching and sessions)

Installation

  1. Clone the repository

    git clone https://github.com/RossNicholson/HelpMe.git
    cd HelpMe
  2. Install dependencies

    # Install backend dependencies
    cd backend
    npm install
    
    # Install frontend dependencies
    cd ../frontend
    npm install
  3. Environment Setup

    # Copy environment files
    cp backend/.env.example backend/.env
    cp frontend/.env.example frontend/.env
  4. Database Setup

    # Run database migrations
    cd backend
    npm run migrate
    npm run seed
  5. Start Development Servers

    # Start backend (from backend directory)
    npm run dev
    
    # Start frontend (from frontend directory)
    npm start
  6. Access the Application

πŸ“ Project Structure

HelpMe/
β”œβ”€β”€ backend/                 # Node.js/Express API server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/     # Request handlers
β”‚   β”‚   β”œβ”€β”€ models/         # Database models
β”‚   β”‚   β”œβ”€β”€ routes/         # API routes
β”‚   β”‚   β”œβ”€β”€ middleware/     # Custom middleware
β”‚   β”‚   β”œβ”€β”€ services/       # Business logic
β”‚   β”‚   └── utils/          # Utility functions
β”‚   β”œβ”€β”€ migrations/         # Database migrations
β”‚   └── tests/              # Backend tests
β”œβ”€β”€ frontend/               # React TypeScript application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable components
β”‚   β”‚   β”œβ”€β”€ pages/          # Page components
β”‚   β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ services/       # API services
β”‚   β”‚   β”œβ”€β”€ store/          # State management
β”‚   β”‚   └── utils/          # Utility functions
β”‚   └── public/             # Static assets
β”œβ”€β”€ docs/                   # Documentation
β”œβ”€β”€ docker/                 # Docker configuration
└── scripts/                # Build and deployment scripts

πŸ”§ Configuration

Environment Variables

Backend (.env)

# Database
DATABASE_URL=postgresql://username:password@localhost:5432/helpme
REDIS_URL=redis://localhost:6379

# Authentication
JWT_SECRET=your-jwt-secret
JWT_EXPIRES_IN=24h
REFRESH_TOKEN_SECRET=your-refresh-token-secret

# Email
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=[email protected]
SMTP_PASS=your-app-password

# SMS (Optional)
SMS_PROVIDER=twilio
TWILIO_ACCOUNT_SID=your-twilio-sid
TWILIO_AUTH_TOKEN=your-twilio-token
TWILIO_PHONE_NUMBER=your-twilio-number

# File Storage
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
AWS_REGION=us-east-1
AWS_S3_BUCKET=helpme-uploads

# API
API_PORT=8000
NODE_ENV=development

Frontend (.env)

REACT_APP_API_URL=http://localhost:8000
REACT_APP_WS_URL=ws://localhost:8000
REACT_APP_APP_NAME=HelpMe

πŸ§ͺ Testing

# Backend tests
cd backend
npm run test

# Frontend tests
cd frontend
npm run test

πŸ“š Documentation

Comprehensive documentation is available in the HelpMe Wiki:

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  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 is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

πŸ† Why HelpMe is the Best MSP Ticket System

🏒 Enterprise-Grade Features

  • Multi-tenant architecture supporting unlimited clients and organizations
  • Role-based access control with granular permissions
  • Complete audit logging for compliance and security
  • SLA management with automated violation tracking
  • Escalation rules for automated ticket handling

πŸ”’ Security & Privacy

  • On-premise deployment - Your data never leaves your infrastructure
  • No SaaS dependencies - Complete control over your environment
  • Encrypted data storage with secure authentication
  • Regular security updates and vulnerability patches

πŸ“Š ITIL Compliance

  • ITIL-aligned workflows and terminology
  • Service lifecycle management from request to resolution
  • Configuration management with asset tracking
  • Change management processes and approvals
  • Knowledge management with centralized documentation

πŸš€ Performance & Scalability

  • Modern tech stack with React, Node.js, and PostgreSQL
  • Real-time updates via WebSocket connections
  • Optimized database queries with proper indexing
  • Caching layer for improved performance
  • Horizontal scaling capabilities

πŸ’Ό MSP-Specific Features

  • Client portal for self-service ticket management
  • Time tracking for accurate billing and productivity
  • Contract management with service level tracking
  • Multi-location support for distributed clients
  • Integration APIs for PSA and RMM tools

🎯 User Experience

  • Intuitive interface designed for MSP workflows
  • Mobile responsive design for field technicians
  • Advanced search and filtering for quick data access
  • Customizable dashboards with key metrics
  • Real-time notifications via email and SMS

HelpMe is the complete solution for MSPs who demand enterprise-grade functionality without the SaaS compromises. Deploy it on your infrastructure, customize it to your workflow, and scale it with your business.


Built with ❀️ for MSPs who value control, security, and ITIL best practices.

About

HelpMe is a modern, open-source helpdesk ticket system specifically designed for IT Managed Service Providers (MSPs). Built with scalability, security, and ease of use in mind, it provides comprehensive ticket management, client communication, and reporting capabilities.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published