Skip to content

A full-stack helpdesk ticketing system built with React, Node.js, PostgreSQL, and deployed on Google Cloud Platform with Terraform and GitHub Actions CI/CD.

License

Notifications You must be signed in to change notification settings

kovendhan5/Helpdesk-Ticketing-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎫 Helpdesk Ticketing System v2.0

Build Status Security Score License Version

A modern, secure, and scalable helpdesk ticketing system built with React, Node.js, and PostgreSQL. Features real-time updates, comprehensive security measures, and enterprise-grade deployment capabilities.

✨ Features

πŸ” Security First

  • Advanced Authentication: JWT-based with configurable expiry
  • Role-Based Access Control: Admin and user permissions
  • Rate Limiting: Protection against brute force attacks
  • Input Validation: Comprehensive sanitization and validation
  • Security Headers: CORS, HSTS, CSP, and more
  • Container Security: Non-root users, read-only filesystems
  • Intrusion Detection: Real-time monitoring and alerting

🎯 Core Functionality

  • Ticket Management: Create, update, assign, and track tickets
  • Real-time Updates: WebSocket-powered live notifications
  • User Management: Multi-role user system with permissions
  • Dashboard Analytics: Comprehensive reporting and metrics
  • File Attachments: Secure file upload and management
  • Email Notifications: Automated email alerts and updates
  • Search & Filter: Advanced ticket search and filtering
  • Audit Trail: Complete activity logging and history

πŸš€ Technical Excellence

  • Microservices Architecture: Scalable and maintainable
  • API-First Design: RESTful APIs with comprehensive documentation
  • Real-time Communication: WebSocket integration for live updates
  • Database Optimization: Efficient queries and indexing
  • Caching Strategy: Redis-powered performance optimization
  • Monitoring: Health checks and performance metrics
  • CI/CD Pipeline: Automated testing and deployment

�️ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   React SPA     β”‚    β”‚   Node.js API   β”‚    β”‚   PostgreSQL    β”‚
β”‚   (Frontend)    │◄──►│   (Backend)     │◄──►│   (Database)    β”‚
β”‚   Port: 8080    β”‚    β”‚   Port: 3001    β”‚    β”‚   Port: 5432    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
         β”‚              β”‚     Redis       β”‚              β”‚
         └──────────────│   (Cache)       β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚   Port: 6379    β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Docker and Docker Compose
  • Git for version control

1. Clone and Setup

git clone https://github.com/yourusername/helpdesk-ticketing-system.git
cd helpdesk-ticketing-system
cp .env.example .env

2. Configure Environment

# Edit .env with your configuration
nano .env

3. Start with Docker

docker-compose up -d

4. Access the Application

οΏ½ Screenshots

Screenshots will be added here to showcase the application interface

πŸ”§ Configuration

Environment Variables

Variable Description Default
NODE_ENV Environment mode development
PORT Backend port 3001
JWT_SECRET JWT signing secret Required
DB_HOST Database host postgres
DB_PASSWORD Database password Required
REDIS_PASSWORD Redis password Required
CORS_ORIGIN Frontend URL for CORS http://localhost:3000

Security Configuration

# Rate Limiting
RATE_LIMIT_MAX=100
RATE_LIMIT_WINDOW=900000

# Session Management
SESSION_TIMEOUT=1800000
SESSION_MAX_CONCURRENT=3

# Security Features
SECURITY_MONITORING=true
INTRUSION_DETECTION=true
LOG_SECURITY_EVENTS=true

πŸ›‘οΈ Security

This application implements enterprise-grade security measures:

  • Authentication: JWT tokens with secure defaults
  • Authorization: Role-based access control (RBAC)
  • Input Validation: Comprehensive sanitization
  • Rate Limiting: Configurable limits per endpoint
  • Security Headers: OWASP recommended headers
  • Container Security: Hardened Docker configurations
  • Monitoring: Real-time security event tracking

For detailed security information, see SECURITY.md.

πŸš€ Deployment

Docker Deployment

# Production deployment
docker-compose -f docker-compose.yml -f docker-compose.production.yml up -d

Cloud Deployment

The application is cloud-ready with:

  • Kubernetes manifests included
  • GitHub Actions CI/CD pipeline
  • Health checks and monitoring
  • Auto-scaling configuration
  • Load balancer support

πŸ§ͺ Testing

# Run backend tests
cd backend && npm test

# Run frontend tests
cd frontend && npm test

# Run integration tests
npm run test:integration

# Security audit
npm audit

πŸ“Š Monitoring

Health Checks

  • Backend: GET /health
  • Database: Connection monitoring
  • Redis: Cache health checks
  • WebSocket: Real-time connection status

Metrics

  • Request/response times
  • Error rates and patterns
  • User activity analytics
  • Security event tracking
  • Resource utilization

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

πŸ“ž Support

🎯 Roadmap

Version 2.1 (Planned)

  • Mobile application (React Native)
  • Advanced analytics dashboard
  • Multi-language support
  • Advanced workflow automation

Version 2.2 (Planned)

  • Single Sign-On (SSO) integration
  • Advanced reporting engine
  • Knowledge base integration
  • AI-powered ticket categorization

πŸ† Acknowledgments

  • Built with modern web technologies
  • Inspired by industry best practices
  • Community-driven development
  • Security-first approach

Version: 2.0.0
Last Updated: June 13, 2025

Star this repo

About

A full-stack helpdesk ticketing system built with React, Node.js, PostgreSQL, and deployed on Google Cloud Platform with Terraform and GitHub Actions CI/CD.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •