Skip to content

Created an automated IT Support ticketing System for a SMB retailer to manage User Enquiry tickets using Camunda

Notifications You must be signed in to change notification settings

RyanL2004/Camunda-IT-Support-Ticketing-System

Repository files navigation

🎟️ IT Support Ticketing System

A modern, enterprise-grade IT support ticketing system built with Camunda Platform 8, Spring Boot, and MongoDB. This system provides a complete business process management solution for handling support tickets through their entire lifecycle.

📚 Documentation

System

System

🚀 Features

  • Multi-Channel Ticket Creation

    • Web portal interface for direct ticket submission
    • Email integration for ticket creation and updates
    • Automated ticket routing and assignment
  • Intelligent Workflow Management

    • BPMN 2.0 process modeling
    • Dynamic task assignment
    • Automated status updates
    • SLA monitoring
  • Communication Features

    • Automated email notifications
    • Status update notifications
    • Request for additional information workflow
    • Survey distribution system
  • Data Management

    • MongoDB integration for ticket storage
    • Secure credential handling
    • Audit trail logging
    • Survey response collection

🛠️ Technology Stack

  • Language: Java 11
  • Library: Spring Boot
  • Process Management: Camunda Platform 8
  • Backend Framework: Spring Boot 2.4.3
  • Database: MongoDB Atlas
  • Email Service: Spring Mail with Gmail SMTP
  • Build Tool: Maven
  • Additional Libraries:
    • Zeebe Client
    • Commons Validator
    • Jackson for JSON processing
    • MongoDB Driver

📋 Prerequisites

  • Java 11 or higher
  • Maven 3.6+
  • Mongoose, MongoDB or MongoDB
  • Camunda Platform 8 account
  • Gmail account for SMTP services

🔧 Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/it-support-ticketing-system.git
  2. Configure MongoDB connection:

    • Update application.yml with your MongoDB credentials
    • Set up your database collections
  3. Configure email service:

    spring.mail:
      host: smtp.gmail.com
      port: 587
      username: [email protected]
      password: your-app-password
  4. Configure Camunda credentials:

    zeebe:
      client:
        cloud:
          region: your-region
          clusterId: your-cluster-id
          clientId: your-client-id
          clientSecret: your-client-secret
  5. Build the project:

    mvn clean install

🚀 Running the Application

  1. Start the Email Service:

    cd CamundaSendEmailservices
    mvn spring-boot:run
  2. Start the Ticketing System Service:

    cd CamundaTicketingSystemservices
    mvn spring-boot:run
  3. Deploy the BPMN workflow through Camunda Platform 8 Console

🔐 Security

  • Secure password handling
  • MongoDB Atlas security features
  • Email validation and sanitization
  • Protected API endpoints

📈 Monitoring and Management

  • Built-in logging system
  • MongoDB data persistence
  • Camunda Operate integration
  • Survey feedback collection

🤝 Contributing

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

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

👥 Authors

🙏 Acknowledgments

  • Camunda Community
  • Spring Boot Team
  • MongoDB Team

📞 Support

For support questions, please open an issue in the GitHub repository.

About

Created an automated IT Support ticketing System for a SMB retailer to manage User Enquiry tickets using Camunda

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published