Report Issue
Last updated
Last updated
Purpose: The application provides an in-built mechanism to report defects or anomalies, allowing end-users to communicate potential issues directly to the development team.
Navigation Path: Menu > Report Issue
Functionality Overview:
Defect Logging: Upon encountering any software issue, users can utilize the dedicated defect logging form to register the issue. This form is intuitively designed to capture essential data, including a description of the problem, severity, and potential steps to reproduce.
Attachment Support: To provide a comprehensive view of the encountered defect, the system supports the attachment of supplementary files. Users can include screen captures, video recordings, or any other relevant documentation, aiding the development team in understanding, reproducing, and addressing the defect.
Issue Tracker Grid: Once logged, defects are listed in the Issue Tracker grid. This grid serves as a central repository and offers users an overview of all reported defects, their status, and more. Users can easily refer to this grid for updates and modifications related to their reported issues.
Database Integration: The defect logging system interacts with multiple database tables to ensure structured and efficient data storage. The following database tables are implicated in this process:
issue_tracker
: This primary table stores the core information of each logged defect.
issue_tracker_activity_logs
: Logs activities and updates related to each defect.
issue_tracker_activity_log_comments
: Houses comments and notes added to a defect's activity log.
issue_tracker_activity_log_uploads
: Manages the storage references of any attachments associated with a defect's activity log.
Backend Implementation: The server-side logic governing the defect logging process is encapsulated within the IssueTrackerController
located at App\Http\Controllers\Admin\Tools\IssueTrackerController
. The store
method within this controller handles the actual defect registration process, ensuring that the provided data is validated and stored appropriately.
Configuration Data: For a seamless user experience, certain dropdown values, such as 'Issue Type', are populated dynamically from configuration files rather than hardcoding them into the system. In this context, the dropdown values are sourced from config/enums.php
, promoting easy modification and extension in the future.