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.
- Technical Report - Detailed system architecture, functionality and implementation details
- Powerpoint Presentation
-
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
- 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
- Java 11 or higher
- Maven 3.6+
- Mongoose, MongoDB or MongoDB
- Camunda Platform 8 account
- Gmail account for SMTP services
-
Clone the repository:
git clone https://github.com/yourusername/it-support-ticketing-system.git
-
Configure MongoDB connection:
- Update
application.yml
with your MongoDB credentials - Set up your database collections
- Update
-
Configure email service:
spring.mail: host: smtp.gmail.com port: 587 username: [email protected] password: your-app-password
-
Configure Camunda credentials:
zeebe: client: cloud: region: your-region clusterId: your-cluster-id clientId: your-client-id clientSecret: your-client-secret
-
Build the project:
mvn clean install
-
Start the Email Service:
cd CamundaSendEmailservices mvn spring-boot:run
-
Start the Ticketing System Service:
cd CamundaTicketingSystemservices mvn spring-boot:run
-
Deploy the BPMN workflow through Camunda Platform 8 Console
- Secure password handling
- MongoDB Atlas security features
- Email validation and sanitization
- Protected API endpoints
- Built-in logging system
- MongoDB data persistence
- Camunda Operate integration
- Survey feedback collection
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- [Rayan] - Initial work - GitHub Profile
- Camunda Community
- Spring Boot Team
- MongoDB Team
For support questions, please open an issue in the GitHub repository.