π« TMS
Ticket Management System
A modern Help Desk platform built with Laravel, designed to simplify customer support through email-driven ticket management.
Documentation Version: 1.0 - Last Updated: July 2026 - Platform: Laravel 13
Overview
TMS is a professional Help Desk solution that automatically converts incoming emails into organized support tickets. It centralizes customer communication, improves collaboration between agents and keeps the complete conversation history in a single place.
System Information
Technical overview of the Ticket Management System.
Application
Ticket Management System
Help Desk & Customer Support PlatformFramework
Laravel 13
PHP Web Application FrameworkDatabase
MySQL
Relational Database Management SystemFrontend
Bootstrap 5
Responsive User InterfaceEmail System
IMAP / SMTP
Incoming & Outgoing Email ProcessingAuthentication
Laravel Fortify
Secure Login & Two-Factor AuthenticationStorage
Laravel Private Storage
Attachments, Audit Files & Internal DataBackground Tasks
Scheduler & Queue
Automated Processing & Email JobsVersion
Documentation v1.0
Continuously Updated SystemCore Features
Ticket Management
Organize, assign and track customer requests from creation to resolution.
Email Integration
Automatic IMAP retrieval and SMTP replies with complete email threading.
Introduction
Welcome to the Ticket Management System documentation.
Ticket Management System (TMS) is a modern web-based Help Desk application developed with Laravel 13. It provides a complete platform for managing customer support requests, email communication, and internal collaboration between support agents.
The application transforms incoming emails into structured support tickets, allowing organizations to centralize customer communication in a single, secure, and organized environment. Every interaction is recorded as part of the ticket history, ensuring complete traceability throughout the support lifecycle.
TMS has been designed with a modular architecture, making it easy to maintain, extend, and customize according to different business requirements. The system combines automated email processing with manual ticket management, enabling support teams to deliver faster and more efficient customer service.
Key Objectives
- Centralize all customer communications in one platform.
- Automatically convert emails into support tickets.
- Provide a complete history of every customer interaction.
- Improve collaboration between support agents.
- Reduce response times through automation.
- Maintain secure and organized storage of messages and attachments.
- Offer a scalable architecture for future development.
Laravel 13
FrameworkIMAP
Email RetrievalSMTP
Email DeliveryMySQL
DatabaseSystem Requirements
Hardware and software requirements for running the Ticket Management System.
Ticket Management System (TMS) is developed using the Laravel framework and is designed to run on modern web servers supporting PHP and MySQL. The application can be deployed on shared hosting, VPS, dedicated servers or cloud environments that meet the following requirements.
Server Requirements
| Component | Requirement |
|---|---|
| Operating System | Linux (recommended) or Windows Server |
| Web Server | Apache 2.4+, Nginx or LiteSpeed |
| PHP | PHP 8.3 or newer |
| Laravel Framework | Laravel 13 |
| Database | MySQL 9+ or MariaDB equivalent |
| Composer | Latest stable version |
| Node.js | Required for compiling frontend assets |
| NPM | Latest stable version |
Required PHP Extensions
- BCMath
- Ctype
- cURL
- DOM
- Fileinfo
- Filter
- JSON
- Mbstring
- OpenSSL
- PDO
- Session
- Tokenizer
- XML
- ZIP
- IMAP (recommended)
- GD or Imagick (optional)
Supported Browsers
The administrative interface is fully responsive and supports all modern browsers.
- Google Chrome (latest)
- Mozilla Firefox (latest)
- Microsoft Edge (latest)
- Safari (latest)
Email Services
To enable automatic email processing, the application requires access to both incoming and outgoing mail servers.
| Service | Purpose |
|---|---|
| IMAP | Receiving incoming customer emails. |
| SMTP | Sending replies and notifications. |
Storage
TMS stores attachments, audit files and generated documents using Laravel's Storage system. A private storage disk is recommended to prevent direct public access to sensitive files.
Recommendation
For production environments, it is recommended to use HTTPS, scheduled Laravel tasks (Cron), a queue worker for email processing and regular database and storage backups to ensure maximum reliability and security.
Installation
Installing and configuring the Ticket Management System.
Step 1 β Upload the Application
Upload the application files to your web server using FTP, SFTP or your hosting control panel. If using shared hosting, the public directory should be configured as the document root of the website or subdomain.
Application:
/home/USER/tms/Document Root: setup the Apache
httpd file to redirect to public folder:Local:
DocumentRoot "${INSTALL_DIR}/www/tms/public"cPanel:
/home/account/tms/public
Step 2 β Create the Database
Create a new MySQL database together with a database user and assign all required privileges. Record the database credentials, as they will be needed when configuring the application.
Step 3 β Setup Process
Open de link where the application is installed http://localhost/tms or http://yourdomain/tms
and fill up the necessary data.
The most important settings include:
- DB_CONNECTION=mysql
- DB_HOST=127.0.0.1
- DB_PORT=3306
- DB_DATABASE=
- DB_USERNAME
- DB_PASSWORD
Step 4 β Generate the Application Key
Generate a unique application encryption key. There will be a button under Admin->Settings->Maintenance [Generate App Key]
This key is required for encrypted sessions, cookies and application security.
Step 5 β Configure Scheduled Tasks
Laravel Scheduler should be configured to execute scheduled commands
automatically. This enables background processing such as email retrieval,
email delivery, cleanup operations and other automated tasks.
There will be instructions under Admin->Settings->Maintenance [Cronjob]
Step 6 β Configure Queue Processing
Email delivery and other background operations are processed through App
Queues. A queue worker should always be running in production.
There will be instructions under Admin->Settings->Maintenance [Cronjob]
Step 7 β First Login
After completing the installation, open the application in your web browser and sign in using an administrator account (admin@admin.com / admin123456). Review the application settings, generate the app key, configure the email IMAP & SMTP accounts and verify that scheduled tasks and queues are operating correctly before the system is placed into production.
Installation Complete
Once these steps have been completed successfully, the Ticket Management System is ready to receive customer emails, create support tickets and manage the complete support workflow.
System Architecture
High-level overview of the Ticket Management System architecture.
Ticket Management System (TMS) is built using the Laravel framework and follows a modular, layered architecture based on the MVC (Model-View-Controller) design pattern. The application separates presentation, business logic and data access into independent layers, making the system easier to maintain, extend and test.
Every module has a clearly defined responsibility and communicates with other components through Laravel services, controllers, models and events. This architecture improves scalability while keeping the codebase organized and maintainable.
Architecture Overview
Users
β
βΌ
Web Browser
β
βΌ
Laravel Routing System
β
βΌ
Controllers
β
βββββββββββ΄ββββββββββ
βΌ βΌ
Application Services
Logic (Business Logic)
β β
βββββββββββ¬ββββββββββ
βΌ
Eloquent ORM
β
βΌ
MySQL Database
β
βββββββββββ΄ββββββββββ
βΌ βΌ
Private Storage Mail Services
(Attachments) IMAP / SMTP
Application Layers
Presentation Layer
The user interface is developed using Blade templates, Bootstrap 5 and JavaScript components. This layer is responsible for displaying data and handling user interaction.
Controller Layer
Controllers receive incoming requests, validate user input, coordinate application services and return responses to the presentation layer.
Business Layer
Business logic is encapsulated inside dedicated service classes responsible for ticket processing, email handling, attachments, notifications and other application features.
Data Layer
Laravel Eloquent ORM provides communication with the MySQL database through models representing the application's business entities.
Main Components
| Component | Responsibility |
|---|---|
| Routes | Define application endpoints and direct requests to controllers. |
| Controllers | Coordinate requests, responses and business operations. |
| Models | Represent database entities and relationships. |
| Services | Implement reusable business logic independent of controllers. |
| Blade Views | Render the graphical user interface. |
| Middleware | Handle authentication, authorization and request filtering. |
| Observers | Monitor model events and automate background operations. |
| Artisan Commands | Execute scheduled tasks and background processes. |
| Queue Workers | Process emails and other asynchronous operations. |
External Services
IMAP
Retrieves incoming customer emails and converts them into tickets or articles.
SMTP
Sends replies, notifications and automated messages to customers.
Storage
Securely stores attachments, generated files and audit information.
Architectural Principles
- Modular application structure.
- Clear separation of responsibilities.
- Reusable business services.
- Secure authentication and authorization.
- Private file storage for sensitive data.
- Scalable background processing using queues.
- Maintainable and extensible codebase.
- Auditability through model observers and activity logging.
Architecture Summary
The layered architecture of TMS provides a clear separation between the user interface, business logic and data storage. Combined with Laravel's ecosystem, this design ensures high maintainability, security and scalability while allowing new modules and features to be integrated with minimal impact on the existing system.
Dashboard
A centralized overview of system activity, ticket statistics and operational information.
The Dashboard is the first screen presented after user authentication and serves as the operational center of the Ticket Management System. It provides administrators and support agents with a real-time overview of ticket activity, user presence and important system information.
Instead of navigating through multiple modules, users can quickly review the current status of the help desk, monitor recent activity and access frequently used functions directly from a single page.
Dashboard Layout
+------------------------------------------------------+ | Dashboard | +------------------------------------------------------+ | Ticket Charts | Online Users | +------------------------------------------------------+ | Recent Activity | Recent Notes | +------------------------------------------------------+ | Quick Statistics | System Information | +------------------------------------------------------+
Dashboard Widgets
| Widget | Description |
|---|---|
| Ticket Status Chart | Displays tickets grouped by their current status. |
| Online Users | Shows users currently connected to the application. |
| Recent Ticket Activity | Lists recently updated tickets and articles. |
| Recent Notes | Displays the latest internal notes created by users. |
| Quick Statistics | Summarizes important system totals and activity. |
Dashboard Workflow
User Login
β
βΌ
Load Dashboard
β
βββββββββββββββββ¬ββββββββββββββββ
βΌ βΌ βΌ
Load Charts Load Widgets Load Statistics
β β β
βββββββββββββββββ΄ββββββββββββββββ
βΌ
Display Dashboard
Available Information
- Ticket status overview.
- Current online users.
- Recent ticket activity.
- Latest internal notes.
- General ticket statistics.
- Quick access to important modules.
- Recent application activity.
- Operational overview.
- Visual charts.
- Real-time information.
Benefits
The Dashboard improves productivity by presenting the most important operational information immediately after login. Agents can quickly identify new customer requests, monitor active work and remain aware of overall system activity without opening multiple application modules.
Dashboard Summary
The Dashboard serves as the central monitoring interface of the Ticket Management System, combining ticket statistics, charts, online users, recent activity and operational information into a single, easy-to-use workspace. It provides users with an immediate overview of the system and supports faster, more informed decision-making.
Ticket Management
Centralized management of customer support requests throughout their entire lifecycle.
The Ticket Management module is the core component of the application. Every customer request is represented by a ticket that contains all related conversations, attachments, activities and history in a single location.
Tickets can be created automatically from incoming emails or manually by support agents. Each ticket receives a unique ticket number that is used for tracking, searching and customer communication.
Ticket Information
Each ticket stores all information required to manage a customer request from creation until completion.
| Field | Description |
|---|---|
| Ticket Number | Unique identifier generated for every support request. |
| Title | Short description of the customer's issue. |
| Customer | Email address of the customer associated with the ticket. |
| Owner | Support agent currently responsible for handling the ticket. |
| Status | Current processing state of the ticket. |
| Priority | Indicates the urgency of the request. |
| Created Date | Date and time when the ticket was created. |
| Last Activity | Automatically updated whenever the ticket receives a new activity. |
Ticket Statuses
Every ticket progresses through predefined statuses that describe its current state during the support process.
New
A newly created ticket that has not yet been processed by an agent.
Open
The ticket is currently being handled by the support team.
Pending
Waiting for additional information or customer response.
Unresolved
The reported issue has been unresolved and is awaiting confirmation.
Closed
The support request has been completed and no further action is required.
Ticket Priorities
Priorities help support agents identify which requests require immediate attention.
| Priority | Description |
|---|---|
| Critical | Major incidents requiring immediate intervention. |
| High | Important issues affecting business operations. |
| Medium | Standard support requests requiring normal processing. |
| Low | Minor requests, questions or cosmetic issues. |
Ticket Lifecycle
Incoming Email
β
βΌ
Ticket Created
β
βΌ
Assigned to Agent
β
βΌ
Investigation
β
βΌ
Customer Communication
β
βΌ
Resolution
β
βΌ
Closed
Main Capabilities
- Create tickets manually.
- Create tickets automatically from emails.
- Assign tickets to support agents.
- Manage ticket priorities.
- Track ticket status.
- Search and filter tickets.
- Maintain complete conversation history.
- Store file attachments securely.
- Audit ticket modifications.
- Monitor recent activity.
Summary
The Ticket Management module provides a structured and efficient workflow for handling customer support requests, ensuring that every interaction is documented, traceable and accessible throughout the entire support process.
Articles
Every communication related to a ticket is stored as an individual article.
The Article module represents the communication history of a ticket. Every email, reply, internal note or outgoing message is stored as a separate article, creating a complete chronological timeline of all interactions between customers and support agents.
Unlike traditional help desk systems that store messages in a single text field, TMS separates every communication into individual records. This approach preserves the original conversation, simplifies searching and filtering, and provides complete traceability throughout the ticket lifecycle.
Article Types
Incoming
Emails received from customers through the configured IMAP mailbox. Incoming articles are automatically linked to existing tickets or used to create new ones.
Outgoing
Responses sent by support agents using the application. Outgoing articles are delivered through SMTP and remain permanently attached to the ticket history.
Internal
Private notes visible only to authorized agents. Internal articles are never sent to customers and are intended for internal collaboration.
Article Information
Each article contains all information required to reconstruct the original email conversation while maintaining compatibility with standard email protocols.
| Field | Description |
|---|---|
| Subject | Email subject or article title. |
| From | Sender email address. |
| To | Primary recipient. |
| CC / BCC | Additional recipients. |
| Message Body | HTML or plain text message content. |
| Direction | Incoming, Outgoing or Internal. |
| Message-ID | Unique email identifier. |
| References | Email thread references. |
| In-Reply-To | Relationship to previous email. |
| Mail Date | Original date and time of the email. |
| Attachments | Files associated with the article. |
Conversation Timeline
Articles are displayed in chronological order, allowing support agents to follow the entire conversation without switching between multiple windows or external email clients.
Customer Email
β
βΌ
Article #1 (Incoming)
β
βΌ
Agent Reply
β
βΌ
Article #2 (Outgoing)
β
βΌ
Internal Note
β
βΌ
Article #3 (Internal)
β
βΌ
Customer Reply
β
βΌ
Article #4 (Incoming)
Main Features
- Automatic article creation from incoming emails.
- Manual replies from the web interface.
- Private internal notes.
- HTML and plain text support.
- Email threading using Message-ID headers.
- Secure attachment management.
- Complete communication history.
- Chronological conversation timeline.
- Email metadata preservation.
- Full audit and traceability.
Article Summary
The Article module serves as the communication engine of the Ticket Management System. By storing every interaction as an independent record, the application maintains a complete, searchable and reliable history of customer communication while supporting secure collaboration between support agents.
Notes
Internal notes for collaboration, documentation and knowledge sharing.
The Notes module allows users to create internal comments and documentation that are visible only within the Ticket Management System. Notes are designed to improve collaboration between support agents by providing additional information without communicating directly with customers.
Notes become part of the application's internal knowledge and can be attached to tickets, articles or other system components, depending on the context in which they are created.
Note Workflow
User β βΌ Create Note β βΌ Save Note β βΌ Available to Team β βΌ View / Edit / Delete
Typical Uses
| Purpose | Description |
|---|---|
| Internal Communication | Exchange information between support agents. |
| Technical Documentation | Record troubleshooting procedures and technical details. |
| Investigation Notes | Store findings during issue analysis. |
| Follow-up Information | Record tasks or reminders related to ongoing work. |
| Knowledge Sharing | Document useful information for future reference. |
Available Operations
- Create notes.
- Edit existing notes.
- Delete notes.
- View note history.
- Search notes.
- Filter notes.
- Organize documentation.
- Collaborate with team members.
- Maintain historical records.
- Support knowledge management.
Best Practices
- Write clear and concise notes.
- Keep information relevant to the topic.
- Avoid duplicate entries.
- Update notes when circumstances change.
- Use notes to improve team collaboration.
Benefits
Internal notes provide a centralized location for recording operational knowledge, simplifying communication between team members and preserving valuable information for future reference. They help reduce repeated investigations and improve the overall efficiency of the support process.
Notes Summary
The Notes module enables users to document internal information, collaborate effectively and build a growing knowledge base within the Ticket Management System. By keeping operational information organized and accessible, notes contribute to faster issue resolution and improved team productivity.
Attachments
Secure storage and management of files associated with tickets and articles.
The Attachment module allows support agents and customers to exchange files as part of the ticket conversation. Every attachment is linked to an individual article, ensuring that files remain associated with the exact message in which they were sent or received.
Attachments are stored outside the public web directory using Laravel's private storage system. This prevents direct access from the internet and ensures that files can only be downloaded by authenticated users with the appropriate permissions.
Attachment Workflow
Customer or Agent
β
βΌ
Upload Attachment
β
βΌ
Validation
β
βΌ
Private Storage
β
βΌ
Database Record
β
βΌ
Linked to Article
β
βΌ
Available for Download
Storage Structure
To simplify maintenance and backups, files are automatically organized into a structured directory hierarchy based on the upload date and ticket number.
storage/
βββ app/
βββ private/
βββ attachments/
βββ YYYY/
βββ MM/
βββ DD/
βββ TICKET_NUMBER/
βββ invoice.pdf
βββ screenshot.png
βββ archive.zip
This directory structure keeps related files grouped together while preventing large numbers of files from accumulating in a single folder.
Attachment Information
| Property | Description |
|---|---|
| Original Filename | Name of the uploaded file. |
| Stored Filename | Unique filename used internally by the application. |
| Storage Path | Private location of the file. |
| File Size | Size of the uploaded file. |
| MIME Type | Detected file type. |
| Article | Article to which the attachment belongs. |
| Ticket | Parent ticket containing the attachment. |
| Upload Date | Date and time when the file was received. |
Supported Operations
- Upload multiple files.
- Download attachments.
- Store files securely.
- Associate files with articles.
- Automatic file organization.
- Preserve original filenames.
- Validate uploaded files.
- Prevent unauthorized access.
- Maintain attachment history.
- Support incoming and outgoing emails.
Security
File security is a key aspect of the Ticket Management System. Attachments are never exposed directly through public URLs. Every download request is processed by the application, allowing user authentication and authorization to be verified before access is granted.
Private Storage
Files are stored outside the public web directory, preventing direct external access.
Controlled Downloads
Every download passes through the application where user permissions can be validated.
Attachment Summary
The Attachment module provides secure, organized and reliable file management for the Ticket Management System. By storing files in private storage and linking them directly to ticket articles, the application ensures both data security and complete traceability throughout the support process.
Filters
Quickly locate tickets using customizable search and filtering criteria.
The Filter module allows users to quickly locate tickets by applying one or more search conditions. Instead of manually browsing through large numbers of records, filters provide an efficient way to display only the tickets that match specific criteria.
Filters can be created for personal use or shared across the organization, allowing support teams to standardize workflows and simplify access to frequently used ticket lists.
Purpose
As the number of tickets increases, finding the required information becomes more time-consuming. The Filter module solves this problem by allowing users to define reusable search criteria that instantly return the desired ticket list.
Available Criteria
| Criteria | Description |
|---|---|
| Ticket Number | Search for a specific ticket identifier. |
| Title | Search by ticket subject or title. |
| Customer | Filter tickets by customer email address. |
| Owner | Display tickets assigned to a specific agent. |
| Status | Show tickets with a selected status. |
| Priority | Filter tickets by priority level. |
| Created Date | Search within a selected creation period. |
| Last Activity | Locate tickets based on their most recent update. |
Filter Workflow
Select Criteria
β
βΌ
Enter Filter Values
β
βΌ
Execute Search
β
βΌ
Matching Tickets
β
βΌ
Save Filter (Optional)
β
βΌ
Reuse Anytime
Saved Filters
Frequently used searches can be saved as reusable filters. Saved filters reduce repetitive work and provide one-click access to commonly used ticket views.
Personal Filters
Visible only to the user who created them. These filters are intended for individual workflows and personal organization.
Shared Filters
Available to multiple users or teams, providing standardized views for support operations and daily activities.
Benefits
- Quick ticket searching.
- Reduced navigation time.
- Reusable search criteria.
- Improved productivity.
- Personalized ticket views.
- Standardized team workflows.
- Easy access to frequently used searches.
- Scalable for large ticket volumes.
Filter Summary
The Filter module enables users to organize and retrieve tickets efficiently by combining multiple search conditions. Reusable filters improve productivity, reduce repetitive tasks and allow support teams to focus on resolving customer requests instead of manually locating information.
Email Integration
Automated email communication through IMAP and SMTP protocols.
Email integration is one of the core components of the Ticket Management System. It enables the application to automatically receive customer emails, create or update support tickets, and send responses directly from the ticket interface without requiring agents to use an external email client.
By combining IMAP for incoming messages and SMTP for outgoing communication, TMS maintains a complete and synchronized conversation history while preserving standard email compatibility.
Email Workflow
Customer
β
βΌ
Incoming Email
β
βΌ
IMAP Retrieval
β
βΌ
Ticket Detection
β
ββββ΄βββββββββββββββ
βΌ βΌ
New Ticket Existing Ticket
β β
βββββββββ¬ββββββββββ
βΌ
Create Article
β
βΌ
Agent Response
β
βΌ
SMTP Delivery
β
βΌ
Customer
Incoming Emails
Incoming messages are periodically retrieved from the configured IMAP mailbox. Each email is analyzed to determine whether it belongs to an existing conversation or represents a new customer request.
During processing, the application extracts all relevant information, including the sender, recipients, subject, message body, attachments and email headers used for conversation tracking.
Outgoing Emails
Support agents respond directly from the ticket interface. Messages are queued and delivered through the configured SMTP server while preserving the email thread using standard message identifiers.
Every outgoing email is automatically stored as an article, ensuring that the ticket history always reflects the complete conversation.
Email Components
| Component | Purpose |
|---|---|
| IMAP | Receives incoming customer emails. |
| SMTP | Sends replies and notifications. |
| Mail Queue | Processes outgoing emails asynchronously. |
| Scheduler | Executes automated email retrieval and delivery tasks. |
| Message Threading | Maintains conversation continuity using email headers. |
| Attachments | Stores files received or sent with each article. |
Supported Features
- Automatic ticket creation.
- Automatic ticket updates.
- Email threading.
- HTML and plain text support.
- Multiple recipients (To, CC and BCC).
- Attachment processing.
- Background email delivery.
- Scheduled mailbox synchronization.
- Outgoing email history.
- Error logging and delivery tracking.
Benefits
Integrating email directly into the Ticket Management System eliminates the need for separate mail clients and ensures that every customer interaction is automatically linked to the appropriate support ticket.
Email Integration Summary
The Email Integration module provides reliable two-way communication between customers and support agents. By combining automated IMAP retrieval, SMTP delivery, message threading and background processing, TMS delivers a seamless and fully documented support experience while maintaining compatibility with standard email infrastructure.
IMAP Integration
Automatic retrieval and processing of incoming customer emails.
The IMAP Integration module enables the Ticket Management System to communicate directly with one or more email accounts. Incoming messages are periodically retrieved from the configured mailbox and processed automatically without requiring manual intervention.
Each retrieved email is analyzed to determine whether it belongs to an existing ticket or represents a new customer request. This allows the application to maintain complete email conversations while minimizing administrative effort.
Processing Workflow
Mail Server
β
βΌ
IMAP Connection
β
βΌ
Retrieve Messages
β
βΌ
Read Email Headers
β
βΌ
Check Existing Ticket
β
ββββββ΄ββββββββββββ
βΌ βΌ
New Ticket Existing Ticket
β β
ββββββββ¬βββββββ
βΌ
Create Article
β
βΌ
Download Attachments
β
βΌ
Update Ticket
Email Analysis
During processing, the application extracts both the message content and the technical information required for reliable email threading. These values are stored together with the corresponding article.
| Information | Description |
|---|---|
| Sender | Email address of the customer. |
| Recipients | To, CC and BCC addresses. |
| Subject | Original email subject. |
| HTML / Plain Text Body | Complete message content. |
| Message-ID | Unique email identifier. |
| In-Reply-To | References the previous email in the conversation. |
| References | Maintains the complete email thread. |
| Attachments | Files included with the email. |
| Received Date | Date and time the message was received. |
Ticket Identification
Before creating a new ticket, TMS determines whether the received email belongs to an existing conversation. Message headers and ticket identifiers are evaluated to ensure that replies are attached to the correct ticket whenever possible.
New Conversation
A new support ticket is created automatically and the received email becomes the first article of the ticket.
Existing Conversation
The email is added as a new incoming article and the corresponding ticket is updated automatically.
Attachment Processing
Files attached to incoming emails are downloaded automatically and stored using the application's private storage system. Each attachment is linked to the corresponding article, preserving the original email structure and ensuring secure file access.
Key Features
- Automatic mailbox synchronization.
- Multiple mailbox support.
- Automatic ticket creation.
- Automatic article creation.
- Email threading.
- Attachment import.
- HTML email support.
- Duplicate message prevention.
- Header analysis.
- Reliable background processing.
IMAP Summary
The IMAP Integration module automates the retrieval of customer emails and converts them into structured ticket conversations. By analyzing message headers, downloading attachments and preserving email threads, TMS ensures reliable synchronization between the mail server and the support platform.
SMTP Integration
Reliable delivery of outgoing emails and customer notifications.
The SMTP Integration module is responsible for delivering all outgoing emails generated by the Ticket Management System. Every reply, notification and automated message is transmitted through the configured SMTP server, ensuring reliable and standards-compliant communication with customers.
Instead of sending emails directly from the user interface, TMS processes outgoing messages through the mail queue. This approach improves application responsiveness, increases reliability and allows failed deliveries to be retried automatically.
Sending Workflow
Agent Reply
β
βΌ
Create Article
β
βΌ
Create Queue Record
β
βΌ
Queue Worker
β
βΌ
SMTP Server
β
βΌ
Customer Mailbox
β
βΌ
Delivery Status Updated
Email Composition
Before transmission, every outgoing message is prepared using the information stored within the ticket and article. The application generates a complete email including recipients, subject, message content and attachments while preserving the original conversation thread.
| Component | Description |
|---|---|
| From | Configured sender address. |
| To | Primary recipient. |
| CC | Additional visible recipients. |
| BCC | Hidden recipients. |
| Subject | Ticket subject or updated conversation subject. |
| Message Body | HTML or plain text content. |
| Attachments | Files associated with the article. |
| Email Headers | Message-ID, References and In-Reply-To values used for conversation tracking. |
Delivery Process
The queue worker retrieves pending emails and delivers them through the configured SMTP server. Once transmission is completed, the application updates the email status and stores any relevant information returned by the mail server.
Pending
Waiting to be processed by the queue worker.
Sent
Successfully delivered to the SMTP server.
Failed
Delivery failed and the error is recorded for review.
Supported Features
- SMTP authentication.
- HTML and plain text emails.
- Multiple recipients.
- CC and BCC support.
- File attachments.
- Email queue integration.
- Delivery status tracking.
- Error logging.
- Conversation threading.
- Automatic notifications.
Reliability
By separating email generation from email delivery, the Ticket Management System ensures that support agents can continue working without waiting for network communication to complete. Queue-based processing also improves reliability by reducing the risk of message loss during temporary mail server interruptions.
SMTP Summary
The SMTP Integration module provides secure and reliable delivery of outgoing emails. Combined with the Mail Queue and Scheduler, it guarantees efficient communication, preserves complete email threads and ensures that every customer response becomes a permanent part of the ticket history.
Mail Queue
Background processing for reliable and efficient email delivery.
The Mail Queue module is responsible for processing all outgoing emails asynchronously. Instead of sending messages immediately after an agent submits a reply, TMS places each email into a queue where it is processed by a background worker.
This architecture improves application performance, reduces waiting time for users and increases reliability by separating email delivery from the main application workflow.
Queue Workflow
Agent Sends Reply
β
βΌ
Create Article
β
βΌ
Create Queue Record
β
βΌ
Pending Queue
β
βΌ
Queue Worker
β
βΌ
SMTP Server
β
βΌ
Update Queue Status
Queue Processing
Every outgoing email is stored as a queue record containing all information required for delivery. The queue worker continuously checks for pending messages and processes them in the background.
Once delivery is completed, the queue status is updated automatically, allowing administrators to monitor the progress of every outgoing email.
Queue Statuses
| Status | Description |
|---|---|
| Pending | The email is waiting to be processed. |
| Processing | The queue worker is currently sending the message. |
| Sent | The email was successfully delivered to the SMTP server. |
| Failed | The delivery was unsuccessful and the error has been recorded. |
| Cancelled | The email was removed from the queue before processing. |
Stored Information
Each queue entry contains all data required to recreate and send the original message without user interaction.
| Information | Description |
|---|---|
| Recipients | Primary, CC and BCC email addresses. |
| Subject | Email subject line. |
| Message Content | HTML or plain text email body. |
| Attachments | Files associated with the outgoing article. |
| Attempt Counter | Number of delivery attempts. |
| Status | Current processing state. |
| Error Message | Detailed information when delivery fails. |
| Created / Processed Time | Timestamps used for monitoring and reporting. |
Advantages
- Non-blocking email delivery.
- Faster user experience.
- Background processing.
- Automatic retry capability.
- Error logging.
- Delivery monitoring.
- Scalable architecture.
- Reduced server load.
- Reliable SMTP integration.
- Complete delivery history.
Monitoring
Administrators can review queued messages, monitor delivery progress, identify failed transmissions and inspect error details when required. This information simplifies troubleshooting and helps maintain reliable communication with customers.
Mail Queue Summary
The Mail Queue module provides asynchronous email processing, ensuring that outgoing messages are delivered efficiently and reliably without affecting the responsiveness of the Ticket Management System. By combining background workers, delivery tracking and error logging, the queue mechanism offers a robust foundation for high-volume email communication.
Mail Flow
Tracking the complete lifecycle of every outgoing email.
The Mail Flow module records every stage of the email delivery process. Rather than storing only the final result, the application maintains a chronological history of all actions performed while an email is being processed.
This information provides complete visibility into the delivery pipeline, allowing administrators to monitor processing progress, investigate failures and verify successful message delivery.
Mail Flow Lifecycle
Reply Created
β
βΌ
Queued
β
βΌ
Processing
β
βΌ
SMTP Connection
β
βΌ
Message Sent
β
βΌ
Completed
Purpose
Every significant event generated during email processing is stored as an individual flow record. This allows administrators to reconstruct the complete processing history of any outgoing email without relying solely on server logs.
Recorded Events
| Event | Description |
|---|---|
| Queued | The email has been added to the outgoing queue. |
| Processing Started | The queue worker has started processing the email. |
| SMTP Connected | A successful connection to the SMTP server has been established. |
| Sending | The email is currently being transmitted. |
| Sent | The SMTP server accepted the message successfully. |
| Failed | The transmission failed and the error was recorded. |
| Retry | A new delivery attempt has been initiated. |
| Completed | The email finished processing successfully. |
Stored Information
| Property | Description |
|---|---|
| Mail Queue | Reference to the associated queue entry. |
| Event Type | The processing event being recorded. |
| Status | Current processing state. |
| Description | Detailed explanation of the recorded event. |
| Error Details | Error message returned during failed operations. |
| Execution Time | Date and time when the event occurred. |
Benefits
- Complete delivery history.
- Detailed processing timeline.
- Simplified troubleshooting.
- Error diagnostics.
- Retry monitoring.
- Operational transparency.
- Delivery auditing.
- Performance analysis.
- Historical reporting.
- Administrative monitoring.
Relationship with Other Modules
The Mail Flow module operates alongside the Mail Queue module. While the Mail Queue stores the current state of an outgoing email, Mail Flow records every transition that occurs during processing, providing a complete audit trail from queue creation to successful delivery or failure.
Mail Flow Summary
The Mail Flow module enhances the reliability of the Ticket Management System by recording every stage of email processing. Together with the Mail Queue, it provides full traceability, simplifies diagnostics and offers administrators complete insight into the lifecycle of every outgoing message.
Scheduled Tasks
Automated background tasks executed by the Laravel Scheduler.
The Scheduled Tasks module automates repetitive operations that are required for the Ticket Management System to function efficiently. Using Laravel's built-in Scheduler, maintenance and background jobs are executed automatically at predefined intervals without requiring manual intervention.
Scheduled tasks ensure that incoming emails are processed, outgoing messages are delivered, temporary data is maintained and routine operations continue even when no users are actively using the application.
Scheduler Workflow
System Cron
β
βΌ
artisan schedule:run
β
βΌ
Laravel Scheduler
β
βββββββββββββββββ
βΌ βΌ
IMAP Jobs Queue Jobs
β β
βββββββββ¬ββββββββ
βΌ
Other Scheduled Tasks
β
βΌ
Log Results
Typical Scheduled Tasks
| Task | Description |
|---|---|
| Email Retrieval | Checks configured IMAP mailboxes for new incoming messages. |
| Mail Queue Processing | Processes pending outgoing emails waiting in the queue. |
| Retry Failed Messages | Attempts to resend emails that previously failed. |
| Cleanup Tasks | Removes temporary files and expired data when required. |
| Maintenance Operations | Executes routine application maintenance tasks. |
Execution Process
The operating system executes a single Cron Job at regular intervals.
This Cron Job runs Laravel's schedule:run command, which
evaluates all scheduled tasks and executes only those that are due.
Operating System Cron
β
βΌ
php artisan schedule:run
β
βΌ
Evaluate Scheduled Tasks
β
βΌ
Execute Due Jobs
β
βΌ
Store Results & Logs
Advantages
- Fully automated background processing.
- No manual execution required.
- Centralized task scheduling.
- Reliable email synchronization.
- Efficient resource utilization.
- Scalable task management.
- Improved system reliability.
- Simplified maintenance.
- Consistent automated operations.
- Easy administration.
Best Practices
- Configure a single operating system Cron Job.
- Allow Laravel Scheduler to control task execution.
- Keep scheduled commands lightweight whenever possible.
- Monitor scheduled task logs regularly.
- Use queue workers for long-running operations.
Scheduled Tasks Summary
The Scheduled Tasks module provides the automation layer of the Ticket Management System. By leveraging Laravel Scheduler, the application performs recurring operations such as email retrieval, queue processing and maintenance automatically, ensuring reliable, continuous and efficient system operation with minimal administrative effort.
Administration
Configure, maintain and monitor the Ticket Management System.
The Administration module provides centralized access to all system configuration and maintenance functions. Administrators can manage application settings, monitor background processes, configure email services and control how the Ticket Management System operates.
By grouping administrative functions into a single interface, TMS simplifies daily management while ensuring that only authorized users can modify critical system settings.
Administration Areas
System Settings
Configure global application options, default values, localization and operational preferences.
Email Configuration
Manage IMAP and SMTP connections, mailbox settings and email processing behavior.
User Management
Create users, assign permissions and manage access to application features.
System Monitoring
Monitor scheduled tasks, mail queues, audit logs and application activity.
Administrative Responsibilities
| Area | Description |
|---|---|
| Application Settings | Configure system-wide options and defaults. |
| Email Services | Maintain IMAP and SMTP connectivity. |
| User Accounts | Create, edit, activate and deactivate users. |
| Roles & Permissions | Control access to application modules. |
| Mail Queue | Monitor outgoing email processing. |
| Mail Flow | Review email processing history. |
| Audit Logs | Review recorded user activities and system events. |
| Maintenance | Perform routine administrative and maintenance tasks. |
Security
Administrative functions are restricted to authorized users. Access to configuration pages is controlled through authentication and permission-based authorization, ensuring that sensitive settings cannot be modified by unauthorized personnel.
Authentication
Only authenticated users can access the administration area using secure account credentials.
Two-Factor Authentication
An optional second layer of security that requires a verification code in addition to the user's password, helping protect accounts from unauthorized access.
Authorization
Roles and permissions determine which modules and actions each authenticated user is allowed to access.
Administration Workflow
Administrator
β
βΌ
Authentication
β
βΌ
Administration Panel
β
ββββββββββββββββ¬ββββββββββββββββ¬ββββββββββββββββ
βΌ βΌ βΌ
Settings User Management Email Services
β β β
ββββββββββββββββ΄ββββββββββββββββ
βΌ
System Monitoring
β
βΌ
Daily Maintenance
Best Practices
- Review system settings regularly.
- Monitor the Mail Queue and Mail Flow modules.
- Verify scheduled task execution.
- Maintain user permissions according to responsibilities.
- Audit system activity periodically.
- Keep backups of application data and uploaded files.
- Apply software updates when available.
Administration Summary
The Administration module serves as the operational center of the Ticket Management System. It provides administrators with the tools required to configure, monitor and maintain the application while ensuring secure access, reliable operation and efficient system management.
Users
User accounts, authentication and access management.
The Users module manages all accounts that can access the Ticket Management System. Each user represents a support agent, administrator or other authorized staff member responsible for processing tickets and managing system resources.
Every user account is uniquely identified and authenticated before access is granted. User information is securely stored within the application database and can be maintained through the Administration interface.
User Information
| Field | Description |
|---|---|
| Full Name | User's display name. |
| Email Address | Unique login and notification address. |
| Password | Securely encrypted authentication credential. |
| Role | Defines user permissions within the application. |
| Status | Active or inactive account. |
| Last Login | Date and time of the most recent authentication. |
| Created At | Account creation date. |
User Lifecycle
Create User
β
βΌ
Activate Account
β
βΌ
User Authentication
β
βΌ
System Access
β
βΌ
Daily Operations
β
βΌ
Account Maintenance
β
βΌ
Deactivate or Delete
Available Operations
- Create new users.
- Edit user information.
- Activate or deactivate accounts.
- Reset passwords.
- Assign user roles.
- Update profile information.
- View login history.
- Manage account status.
- Search and filter users.
- Remove obsolete accounts.
Authentication
Access to the application requires user authentication. Passwords are stored using secure hashing algorithms and are never saved in plain text. Only authenticated users can access protected application resources.
Secure Login
Authentication verifies the identity of every user before access is granted.
Password Security
Passwords are encrypted using Laravel's secure password hashing mechanisms.
Best Practices
- Assign one account per individual user.
- Use strong passwords.
- Deactivate unused accounts.
- Grant only the permissions required for each role.
- Review user accounts periodically.
- Protect administrative accounts carefully.
Users Summary
The Users module provides secure authentication and centralized account management for the Ticket Management System. By controlling user identities, account status and permissions, it ensures that authorized personnel can access the resources they need while maintaining the security and integrity of the application.
Roles & Permissions
Role-based access control for secure and organized system management.
The Roles & Permissions module controls access to every area of the Ticket Management System. Instead of assigning permissions individually to each user, permissions are grouped into roles that can be assigned to one or more users.
This role-based access control (RBAC) model simplifies administration, improves security and ensures that users only have access to the functions required for their responsibilities.
Role-Based Access Control
Permission
β
βΌ
Assigned to Role
β
βΌ
Role Assigned to User
β
βΌ
User Access Granted
Typical Roles
| Role | Description |
|---|---|
| Administrator | Full access to all application features and configuration. |
| Support Agent | Manage assigned tickets, articles and customer communication. |
| Supervisor | Monitor team activity, review tickets and generate reports. |
| Read-Only User | View information without permission to modify data. |
Permission Categories
| Category | Examples |
|---|---|
| Tickets | Create, edit, assign, close and delete tickets. |
| Articles | Create replies, internal notes and edit articles. |
| Attachments | Upload, download and remove files. |
| Users | Create, edit and manage user accounts. |
| Administration | Access settings, email configuration and maintenance tools. |
| Reports | View statistics and export data. |
| Audit Logs | View user activity and system history. |
Permission Assignment
Create Permission
β
βΌ
Assign to Role
β
βΌ
Assign Role to User
β
βΌ
User Inherits Permissions
Benefits
- Centralized permission management.
- Improved application security.
- Simplified user administration.
- Consistent access control.
- Easy onboarding of new users.
- Scalable permission structure.
- Reduced administrative effort.
- Clear separation of responsibilities.
- Protection of sensitive functions.
- Support for organizational growth.
Security Principles
- Grant only the permissions required for each role.
- Separate administrative and operational responsibilities.
- Review assigned roles regularly.
- Remove unused permissions when no longer required.
- Audit permission changes periodically.
Roles & Permissions Summary
The Roles & Permissions module provides a secure and scalable authorization framework for the Ticket Management System. By assigning permissions to roles rather than individual users, the application simplifies administration, strengthens security and ensures consistent access control across all system modules.
Settings
Configure global application behavior and system preferences.
The Settings module provides centralized configuration for the entire Ticket Management System. Global options defined here affect how the application behaves, allowing administrators to customize operational parameters without modifying the application code.
System settings are intended for application-wide configuration and should only be modified by authorized administrators.
Configuration Categories
General
Configure application name, company information, localization and default preferences.
Ticket Settings
Configure ticket numbering, default status, priorities and workflow options.
Email Settings
Configure IMAP, SMTP, email processing and notification behavior.
Security
Configure authentication, password policies, session management and access restrictions.
Common Settings
| Setting | Description |
|---|---|
| Application Name | Displayed throughout the user interface. |
| Company Name | Organization information used in emails and documentation. |
| Default Language | Primary language used by the application. |
| Time Zone | Defines the default time zone for all users. |
| Date & Time Format | Controls how dates and times are displayed. |
| Ticket Number Format | Defines how new ticket numbers are generated. |
| Default Ticket Status | Status assigned when a new ticket is created. |
| Default Priority | Priority assigned to newly created tickets. |
| Email Notifications | Enable or disable automatic notifications. |
| Audit Logging | Configure activity logging and audit options. |
Configuration Workflow
Administrator
β
βΌ
Open Settings
β
βΌ
Modify Configuration
β
βΌ
Save Changes
β
βΌ
Validation
β
βΌ
Configuration Applied
Best Practices
- Review configuration regularly.
- Test changes before production deployment.
- Restrict access to administrators.
- Keep email settings up to date.
- Verify scheduled task configuration.
- Enable audit logging.
- Document configuration changes.
- Backup configuration before major updates.
- Use secure authentication settings.
- Maintain consistent system preferences.
Security Considerations
Configuration changes can affect the entire application. For this reason, access to the Settings module should be limited to trusted administrators, and significant changes should be documented and reviewed when appropriate.
Settings Summary
The Settings module centralizes the configuration of the Ticket Management System, allowing administrators to manage application behavior, ticket processing, email integration, security and operational preferences from a single location. Proper configuration ensures a secure, reliable and consistent user experience across the entire platform.
Audit Log
Complete activity tracking and system auditing.
The Audit Log module records important activities performed within the Ticket Management System. Every significant action can be logged, creating a chronological history that improves accountability, troubleshooting and security.
Audit records help administrators understand who performed an action, when it occurred, which object was affected and what changes were made. This provides complete transparency across the application.
Audit Workflow
User Action
β
βΌ
Application Event
β
βΌ
Audit Observer
β
βΌ
Generate Audit Record
β
βΌ
Store Activity Log
β
βΌ
Administrator Review
Recorded Information
| Information | Description |
|---|---|
| User | The authenticated user who performed the action. |
| Action | Create, update, delete, login, logout or another recorded event. |
| Module | The application module affected by the action. |
| Model | The data entity involved in the operation. |
| Record ID | Unique identifier of the affected record. |
| Changes | Summary of modified values recorded for the operation. |
| IP Address | Origin of the request. |
| User Agent | Browser or client application information. |
| Timestamp | Date and time when the action occurred. |
Typical Audited Events
- User login.
- User logout.
- Ticket creation.
- Ticket updates.
- Ticket deletion.
- Article creation.
- Article modifications.
- Attachment management.
- User administration.
- Role modifications.
- Settings changes.
- Email processing events.
- Administrative operations.
- Other configurable activities.
Change Tracking
When a record is modified, the Audit Log stores both the previous and updated values for changed fields whenever applicable. This allows administrators to understand exactly what information was modified during an operation while ignoring unchanged data.
Benefits
- Complete activity history.
- Accountability for user actions.
- Improved troubleshooting.
- Security investigations.
- Compliance support.
- Operational transparency.
- Historical reporting.
- Configuration monitoring.
- Data change tracking.
- Administrative oversight.
Security Considerations
Audit records should be protected from unauthorized modification and should only be accessible to users with appropriate administrative permissions. Retaining accurate audit data is essential for maintaining trust and accountability within the system.
Audit Log Summary
The Audit Log module provides a comprehensive record of user activities and system events throughout the Ticket Management System. By recording who performed each action, when it occurred and what data was affected, the module supports security, accountability, diagnostics and operational transparency across the entire application.
Technical
Technical architecture, framework components and system foundation.
The Technical section describes the underlying technologies and architecture used to build and operate the Ticket Management System. It provides developers and administrators with an overview of the application's structure, dependencies and technical components.
TMS is built using modern web technologies, following Laravel development standards and separating application logic, database operations, background processing and user interface components.
Technology Stack
| Component | Technology |
|---|---|
| Backend Framework | Laravel 13 |
| Programming Language | PHP 8.3+ |
| Database | MySQL |
| Frontend Framework | Bootstrap 5 |
| Template Engine | Blade |
| Email Protocols | IMAP / SMTP |
| Authentication | Laravel Fortify |
| Task Scheduling | Laravel Scheduler |
| File Storage | Laravel Storage System |
Application Architecture
Browser β βΌ Blade Views β βΌ Controllers β βΌ Services β βΌ Models / Eloquent ORM β βΌ Database
Core Components
Controllers
Handle user requests, validate input and coordinate application operations.
Models
Represent database entities and provide data access through Eloquent ORM.
Services
Contain reusable business logic and complex operations.
Jobs & Commands
Execute background operations such as email processing and scheduled tasks.
Email Architecture
Customer Email
β
βΌ
IMAP Service
β
βΌ
Email Processing
β
βΌ
Ticket / Article Creation
β
βΌ
Mail Queue
β
βΌ
SMTP Delivery
Storage Architecture
TMS uses Laravel's storage system to manage uploaded files and internal application data. Private files such as attachments and audit information are stored securely and accessed only through authorized application processes.
Storage β βββ Attachments β βββ User Actions JSON β βββ Internal Files
Development Principles
- Separation of business logic and presentation.
- Reusable services for complex operations.
- Secure handling of files and sensitive data.
- Database relationships through Eloquent ORM.
- Automated background processing.
- Maintainable and scalable code structure.
Technical Summary
The Ticket Management System is built on a modern Laravel architecture that combines secure authentication, structured database management, automated email processing and scalable application components. The technical foundation allows TMS to support reliable ticket operations while remaining maintainable and extensible for future development.
Database
Database structure, relationships and data organization.
The Database layer is the foundation of the Ticket Management System. It stores all operational information required for ticket processing, user management, email communication and system auditing.
TMS uses MySQL as the primary database engine together with Laravel Eloquent ORM, providing structured relationships between entities and maintaining data consistency throughout the application.
Database Architecture
Application Layer
β
βΌ
Laravel Eloquent ORM
β
βΌ
MySQL Database
β
βββββββββββββββββ
βΌ βΌ
Core Tables Support Tables
Core Tables
| Table | Description |
|---|---|
| users | Stores application users, authentication information and account data. |
| tickets | Stores customer requests, ticket status, priority, ownership and lifecycle information. |
| articles | Stores ticket communication history, replies and internal messages. |
| attachments | Stores information about uploaded files linked to tickets and articles. |
Email Processing Tables
| Table | Description |
|---|---|
| mail_queues | Stores outgoing emails waiting for processing and delivery. |
| mail_flows | Tracks email processing flow and communication history. |
Administration Tables
| Table | Description |
|---|---|
| settings | Stores global application configuration options. |
| roles | Defines user access groups and permissions. |
| permissions | Defines available system capabilities. |
| user_actions | Stores audit records and references to detailed change history files. |
Main Relationships
User β βββββββββββββββββ βΌ βΌ Tickets User Actions β βββββββββββββββββ βΌ βΌ Articles Attachments β βΌ Mail Processing
Ticket Data Structure
The ticket table represents the central entity of the application. Each ticket contains information about customer communication, ownership, workflow status and related activity.
| Field | Purpose |
|---|---|
| ticket_number | Unique identifier displayed to users. |
| status | Current workflow state. |
| priority | Importance level of the request. |
| customer | Customer email address. |
| owner | Assigned support agent. |
| last_reply_at | Latest communication timestamp. |
Data Integrity
- Foreign key relationships maintain data consistency.
- Eloquent relationships simplify data access.
- Validation prevents invalid records.
- Transactions protect critical operations.
- Indexes improve search performance.
Backup Considerations
Database backups are essential for protecting ticket history, customer communication and system configuration. Regular backups should be combined with storage backups for attachments and other private application files.
Database Summary
The Database layer provides the structured data foundation of the Ticket Management System. Through well-defined tables, relationships and Laravel Eloquent integration, TMS maintains reliable storage for tickets, communication history, users, attachments, email processing and audit information.
Storage
File management, private storage and application data organization.
The Storage module manages all files generated or uploaded by the Ticket Management System. It provides a centralized and secure location for attachments, audit information and other internal application files.
TMS uses Laravel Storage to separate database information from physical files. The database stores file references and metadata, while the actual content remains protected within the configured storage disks.
Storage Architecture
Application
β
βΌ
Laravel Storage
β
βββββ΄ββββββββββββββββ
βΌ βΌ
Public Storage Private Storage
β
βββ Attachments
β
βββ User Actions JSON
β
βββ Internal Files
Storage Locations
| Location | Purpose |
|---|---|
| Attachments | Stores files uploaded or received through ticket communication. |
| User Actions | Stores detailed audit change information as JSON files. |
| Internal Files | Stores application generated files that should not be publicly accessible. |
Attachment Storage
Attachments received from emails or uploaded by users are stored separately from the database. Only attachment metadata and file references are stored in database records.
Ticket β βΌ Article β βΌ Attachment Record β βΌ Storage File
Files are organized using structured folders based on ticket information, allowing easier maintenance, backup and retrieval.
Storage
βββ Tickets
βββ YYYY
βββ MM
βββ DD
βββ Ticket Number
βββ Attachments
Audit Data Storage
The Audit Log system stores detailed change information separately from the database. The database keeps the reference path, while the complete JSON content is stored securely in private storage.
User Action
β
βΌ
Generate JSON Changes
β
βΌ
Private Storage
β
βΌ
Save File Path in Database
Example structure:
storage/app/private/
2026
βββ 07
βββ 22
βββ useraction
βββ UA2.json
Security
Private storage is used for sensitive information to prevent direct public access. Files can only be accessed through authorized application processes.
- Files are not directly exposed through public URLs.
- Access is controlled by application permissions.
- Sensitive audit information remains protected.
- Database and files are managed separately.
Maintenance
- Regular storage backups.
- Monitor disk usage.
- Remove unnecessary temporary files.
- Verify file permissions.
- Maintain folder organization.
- Protect private directories.
- Check attachment integrity.
- Include storage in disaster recovery plans.
Storage Summary
The Storage module provides secure and organized file management for the Ticket Management System. By separating database records from physical files and using Laravel's storage mechanisms, TMS ensures better security, scalability and easier maintenance of attachments, audit information and internal application data.
Security
Authentication, authorization and protection mechanisms.
Security is a fundamental component of the Ticket Management System. TMS protects customer information, internal communication, user accounts and system configuration through multiple security layers.
The application combines Laravel security features, role-based permissions, secure authentication, private storage and activity monitoring to ensure that data remains protected and accessible only to authorized users.
Security Architecture
User β βΌ Authentication β βΌ Authorization β βΌ Application Access β βββββββββββββββββ βΌ βΌ Permissions Audit Log β β βΌ βΌ Protected Data Activity History
Authentication
User authentication is handled through Laravel authentication components and Laravel Fortify. Only verified users can access protected areas of the application.
| Feature | Description |
|---|---|
| Login | Secure user authentication before accessing the system. |
| Password Protection | Passwords are securely hashed and never stored as plain text. |
| Two-Factor Authentication | Additional authentication layer using Laravel Fortify MFA. |
| Session Management | Secure handling of authenticated user sessions. |
Authorization
Authentication confirms the identity of a user, while authorization determines what actions that user is allowed to perform.
User β βΌ Assigned Role β βΌ Permissions β βΌ Allowed Actions
Access control is managed through roles and permissions, ensuring that users can only access features required for their assigned responsibilities.
Data Protection
| Protection | Description |
|---|---|
| Database Security | Structured access through Laravel Eloquent and validation. |
| Private Storage | Sensitive files are stored outside public access. |
| Input Validation | User input is validated before processing. |
| CSRF Protection | Requests are protected against cross-site attacks. |
| Password Security | Credentials are encrypted using secure hashing. |
Audit & Monitoring
Security events and important user activities are tracked through the Audit Log system. This provides visibility into system changes and helps administrators investigate unexpected activity.
- User login and logout tracking.
- Record creation and modification history.
- Configuration change monitoring.
- Administrative activity tracking.
- Change history stored securely.
Email Security
Email communication is handled through configured IMAP and SMTP services. Credentials and connection information must be protected and should only be accessible by authorized administrators.
- Secure mailbox configuration.
- Protected SMTP authentication.
- Controlled email processing.
- Validation of incoming messages.
Security Best Practices
- Use strong passwords.
- Enable two-factor authentication.
- Review permissions regularly.
- Keep Laravel and dependencies updated.
- Protect administrative accounts.
- Perform regular backups.
- Monitor audit activity.
- Protect environment configuration.
- Restrict server access.
- Review security logs.
Security Summary
Security in the Ticket Management System is implemented through multiple protection layers including authentication, authorization, permissions, private storage, audit tracking and secure data handling. These mechanisms ensure that customer information, internal communication and system resources remain protected while allowing authorized users to efficiently manage support operations.
Backup, Restore & Updates
Data protection, system recovery and continuous improvements.
The Backup, Restore & Updates module defines the procedures required to protect system data, recover from unexpected situations and keep the Ticket Management System updated with the latest improvements, fixes and security enhancements.
Regular maintenance ensures that ticket history, customer communication, attachments and system configuration remain safe while allowing the application to evolve over time.
Backup Strategy
A complete backup strategy must include both database information and application storage files. Backing up only the database is not sufficient because important files such as attachments and audit documents are stored separately.
Backup
β
βββ Database
β β
β βββ Tickets
β βββ Articles
β βββ Users
β βββ Settings
β βββ Audit Records
β
βββ Storage
β
βββ Attachments
βββ User Actions JSON
βββ Internal Files
Recommended Backup Items
| Component | Description |
|---|---|
| Database | Complete MySQL database containing application data. |
| Storage Files | Attachments, private files and generated documents. |
| Configuration | Environment configuration and application settings. |
| Application Code | Laravel application files and custom modifications. |
Restore Process
Backup Available
β
βΌ
Restore Database
β
βΌ
Restore Storage Files
β
βΌ
Verify Configuration
β
βΌ
Test Application
β
βΌ
System Online
Before restoring a backup, the current system state should be evaluated to prevent data loss. After restoration, all main functions should be tested, including ticket creation, email processing and user authentication.
System Updates
The Ticket Management System is continuously improved through regular updates. New features, performance improvements, security fixes and compatibility changes may be released periodically.
Keeping the application updated ensures better reliability, improved user experience and compatibility with newer server environments.
New Version Available
β
βΌ
Create Backup
β
βΌ
Apply Update
β
βΌ
Database Migration
β
βΌ
Clear Cache
β
βΌ
System Verification
Update Types
| Update | Purpose |
|---|---|
| Feature Updates | New functionality and improvements requested by users. |
| Security Updates | Fixes and improvements related to application security. |
| Performance Updates | Optimization of speed, database queries and resources. |
| Maintenance Updates | Bug fixes and general system improvements. |
Update Best Practices
- Create a complete backup before every update.
- Review update changes before deployment.
- Test updates in a development environment when possible.
- Run required database migrations.
- Verify email and ticket processing after updates.
- Monitor system logs after deployment.
Maintenance Schedule
Regular maintenance activities help keep the system stable and secure. Updates are applied periodically as new improvements, fixes and enhancements become available.
Backup, Restore & Updates Summary
The Ticket Management System follows a continuous improvement approach. Regular backups protect valuable information, restore procedures ensure business continuity, and periodic updates keep the platform secure, reliable and ready for future development.
Performance
Optimization, scalability and system efficiency.
Performance optimization is an important part of the Ticket Management System. TMS is designed to handle large amounts of ticket communication, email processing, attachments and user activity while maintaining a responsive user experience.
The system uses Laravel optimization techniques, structured database queries and background processing to reduce response time and improve overall reliability.
Performance Architecture
User Request
β
βΌ
Laravel Application
β
ββββββΌβββββββββββββ
βΌ βΌ βΌ
Cache Database Queue
β β
βΌ βΌ
Fast Response Background Tasks
Optimization Areas
| Area | Optimization |
|---|---|
| Database | Optimized queries, relationships and indexes for faster data retrieval. |
| Application Logic | Business operations are separated into services to improve maintainability and execution efficiency. |
| Email Processing | Incoming and outgoing emails are processed through controlled background operations. |
| Storage | Files are managed separately from database records to reduce database load. |
| Frontend | Optimized views and components provide a responsive user interface. |
Database Performance
Database efficiency is critical because tickets, articles, attachments and audit records generate a large amount of data over time.
- Proper database relationships.
- Indexed frequently searched fields.
- Optimized Eloquent queries.
- Reduced unnecessary database calls.
- Pagination for large data collections.
Queue Processing
Background processing is used for operations that should not block the user interface, such as email delivery and scheduled tasks.
User Action
β
βΌ
Create Queue Job
β
βΌ
Background Worker
β
βΌ
Complete Operation
Queue processing improves user experience by allowing the application to respond quickly while intensive tasks continue in the background.
Caching
Frequently accessed information can be cached to reduce repeated database operations and improve application response time.
- Application settings.
- Frequently used configuration data.
- Temporary calculated information.
- Performance-sensitive operations.
Scalability
The architecture of TMS allows future expansion as the number of users, tickets and communication volume increases.
- Additional agents and users.
- Larger ticket databases.
- More email integrations.
- Additional system modules.
- Improved server resources.
- Database optimization.
- Queue worker scaling.
- Storage expansion.
Monitoring
Regular monitoring helps identify performance issues before they affect users. Administrators should review application behavior, database growth and system resources.
- Application logs.
- Database size.
- Storage usage.
- Queue status.
- Email processing activity.
Performance Summary
The Ticket Management System is designed with performance and scalability in mind. Through optimized database operations, background processing, structured storage management and efficient application architecture, TMS can support growing support teams and increasing communication volumes while maintaining a responsive user experience.
Frequently Asked Questions
Common questions about using and managing the Ticket Management System.
The FAQ section provides quick answers to common questions related to ticket management, email processing, administration and system operation.
It is designed to help users and administrators understand the main concepts of TMS and solve common questions without requiring technical assistance.
General Questions
Email Questions
User & Administration Questions
Maintenance Questions
FAQ Summary
The FAQ section provides quick guidance for common Ticket Management System questions. For technical issues, administrators should consult the Troubleshooting and Technical documentation sections.
Changelog / Version History
Record of system evolution, improvements and new features.
The Changelog section provides a historical overview of the development of the Ticket Management System. It documents major releases, new features, improvements, security updates and important maintenance changes.
Keeping a version history helps administrators and users understand system evolution, identify introduced improvements and maintain accurate documentation of implemented changes.
Version History
Version 2.1.0
Initial ReleaseFirst stable release of the Ticket Management System. Introduced the core Help Desk functionality and basic ticket workflow.
- Ticket management system.
- Customer communication history.
- Articles and replies.
- User authentication.
- Basic administration features.
Version 2.1.x
Email IntegrationAdded email-driven ticket management capabilities. The system became capable of processing customer communication automatically.
- IMAP email retrieval.
- Automatic ticket creation from emails.
- Email threading support.
- SMTP outgoing communication.
- Attachment processing.
Version 2.1.x
Workflow Improvements- Ticket status management.
- Priority handling.
- Ticket filters.
- Improved ticket navigation.
- Better agent workflow.
Version 2.1.x
Administration & Security- Roles and permissions.
- User management improvements.
- Laravel Fortify integration.
- Two-factor authentication support.
- Security improvements.
Version 2.1.x
Audit & Monitoring- User activity tracking.
- Audit Log implementation.
- Change history recording.
- Secure JSON audit storage.
- Improved system transparency.
Future Releases
Planned ImprovementsFuture versions will continue improving functionality, performance and usability based on operational needs.
- Additional reporting features.
- Advanced analytics.
- Additional integrations.
- Performance improvements.
- New automation features.
Update Policy
The Ticket Management System follows a continuous improvement approach. Updates are released periodically to introduce new capabilities, improve existing functionality and maintain system reliability.
- Feature enhancements.
- Security patches.
- Bug fixes.
- Performance optimization.
- Compatibility improvements.
Changelog Summary
The Changelog provides a transparent history of the Ticket Management System development. Each release represents a step toward a more powerful, secure and efficient Help Desk platform, ensuring continuous improvement and long-term maintainability.
Glossary
Definitions of common terms used throughout the Ticket Management System.
This glossary explains the main concepts and terminology used in the Ticket Management System. It helps users, administrators and technical teams understand the structure and workflow of the application.
Ticket Management Terms
Email & Communication Terms
User & Security Terms
Technical Terms
| Term | Definition |
|---|---|
| Laravel | PHP framework used as the foundation of the Ticket Management System. |
| Eloquent ORM | Laravel database layer used to manage application data through models and relationships. |
| Migration | Version-controlled database structure changes. |
| Storage | Laravel file management system used for attachments and internal application files. |
| Scheduler | Laravel system used to execute automated tasks at defined intervals. |
Glossary Summary
Understanding the terminology used by the Ticket Management System helps users work more efficiently and allows technical teams to maintain and extend the platform more easily.