G7 고객 응대 데스크 모듈 - Glitter Help Desk
고객 문의의 접수부터 담당자 배정, 답변, 해결 및 처리 이력까지 체계적으로 관리하는 그누보드7 고객지원 모듈
Create → Assign → Respond → Resolve → Track
다시 말해,
"고객 문의를 접수하고 → 담당자를 배정하고 → 답변하고 → 해결 상태를 관리하며 → 처리 과정을 추적한다."
라는 구조입니다.
Glitter Help Desk는 GnuBoard7의 기존 인증·권한 체계 위에서 고객 문의와 지원 업무를 독립적으로 관리하는 G7 Custom Module입니다.
개요
Glitter Help Desk v0.1.3은 GnuBoard7 Official 환경에서 고객 문의를 접수하고, 담당자를 배정하고, 답변과 처리 상태를 관리하는 고객지원 및 티켓 관리 모듈입니다.
게시판의 일반적인 글쓰기·댓글 구조와 별개로, 문의 접수부터 해결까지의 업무 흐름을 하나의 Ticket 도메인으로 관리하는 계층을 제공하기 위해 만들어졌습니다.
주요 기능은 다음과 같습니다.
- 고객 문의 티켓 생성 및 조회
- 담당자 배정 및 담당 티켓 관리
- 티켓 상태 및 우선순위 관리
- 고객과 담당자 간 답변
- 관리자 내부 메모
- 문의 카테고리 관리
- 자주 사용하는 답변(Canned Replies) 관리
- 고객지원 설정 및 운영 현황 조회
- 티켓 처리 이력 관리
- 한국어·영어 인터페이스
v0.1.3에서는 기존 고객지원 기능을 유지하면서 아이콘 호환성과 관리자·사용자 인터페이스의 완성도를 개선했습니다.
왜 만들었나
G7에는 게시판, 회원 관리, 인증, Permission, 관리자 메뉴, Layout, API 등의 기반 기능이 있습니다.
하지만 고객지원 업무를 일반 게시판으로만 처리하면 다음과 같은 문제가 발생할 수 있습니다.
- 문의별 담당자를 명확하게 지정하기 어렵다.
- 접수·처리 중·해결·종료 상태를 일관되게 관리하기 어렵다.
- 고객에게 공개하는 답변과 내부 관리 메모를 분리하기 어렵다.
- 문의 우선순위를 체계적으로 관리하기 어렵다.
- 담당자가 처리해야 할 문의를 별도로 확인하기 어렵다.
- 반복되는 문의에 동일한 답변을 작성해야 한다.
- 문의 처리 과정과 상태 변경 이력을 추적하기 어렵다.
그래서 일반 게시글과 고객지원 티켓의 역할을 분리했습니다.
G7의 기존 기반 기능은 그대로 활용하고, 고객지원에 필요한 Ticket, Message, Assignment, Category 등의 기능에 집중하도록 설계했습니다.
그 결과가 Glitter Help Desk입니다.
누구에게 유용한가
커뮤니티 운영자
회원 문의를 일반 게시판과 구분하여 접수하고 처리하려는 경우에 유용합니다.
고객지원 담당자
자신에게 배정된 문의를 확인하고, 답변과 처리 상태를 관리하려는 경우에 활용할 수 있습니다.
여러 담당자가 있는 서비스
문의별 담당자와 우선순위를 구분하고 처리 이력을 남기려는 환경에 적합합니다.
G7 모듈 개발자
기존 G7 인증·권한·Layout 체계를 활용하면서 독립적인 고객지원 기능을 추가하려는 경우 참고할 수 있습니다.
기본 구조
1. Ticket
Ticket은 고객지원 업무의 중심 데이터입니다.
고객이 문의를 생성하면 개별 티켓이 만들어지고, 해당 티켓을 기준으로 답변과 처리 상태를 관리합니다.
- 티켓 생성
- 티켓 목록 및 상세 조회
- 문의 제목과 내용 관리
- 상태 관리
- 우선순위 관리
- 담당자 배정
- 처리 이력 기록
2. Message
Message는 티켓에 연결되는 답변과 대화 내용입니다.
고객과 담당자는 동일한 티켓 안에서 문의 내용을 이어갈 수 있습니다.
고객에게 공개하는 답변과 내부 관리자 메모는 목적에 따라 구분됩니다.
3. Assignment
Assignment는 문의를 처리할 담당자를 지정하는 영역입니다.
관리자는 담당자를 배정하고, 담당자는 자신에게 할당된 티켓을 별도로 조회할 수 있습니다.
4. Category
Category는 문의를 유형별로 분류하는 기능입니다.
관리자는 문의 카테고리를 생성하고 관리할 수 있습니다.
비활성 카테고리와 잘못된 상위·하위 관계에 대한 검증도 포함합니다.
5. Canned Replies
Canned Replies는 반복적으로 사용하는 답변을 관리하는 기능입니다.
담당자는 자주 사용하는 안내 문구를 재사용하여 반복 입력을 줄일 수 있습니다.
티켓 처리 흐름
Customer
│
▼
Create Ticket
│
▼
Open
│
├── Category
├── Priority
│
▼
Assign Agent
│
▼
Respond
│
├── Customer Reply
├── Agent Reply
└── Internal Note
│
▼
Resolve
│
├── Reopen
└── Close
│
▼
Ticket History
핵심은 문의 내용, 담당자, 처리 상태, 답변과 이력을 하나의 티켓으로 연결하는 것입니다.
주요 기능
1. 고객 문의 접수
사용자는 고객지원 화면에서 새로운 문의를 작성할 수 있습니다.
- 문의 제목과 내용 입력
- 문의 카테고리 선택
- 본인 문의 목록 조회
- 본인 문의 상세 확인
- 기존 문의에 추가 답변 작성
고객은 자신의 티켓을 중심으로 문의 진행 상황을 확인합니다.
2. 담당자 배정
관리자는 티켓에 담당자를 지정할 수 있습니다.
담당자별로 배정된 티켓을 구분하여 조회할 수 있어 업무 분담에 활용할 수 있습니다.
3. 상태 관리
티켓은 접수 이후 처리 과정에 따라 상태가 변경됩니다.
| 상태 | 의미 |
|---|---|
open |
접수 또는 재개된 문의 |
resolved |
해결 처리된 문의 |
closed |
종료된 문의 |
해결된 티켓에 고객이 다시 답변하면 티켓을 재개하는 처리가 포함되어 있습니다.
종료된 티켓은 일반적인 고객 답변으로 자동 재개되지 않도록 구분합니다.
4. 우선순위 관리
관리자는 문의의 중요도와 처리 필요성에 따라 우선순위를 관리할 수 있습니다.
이를 통해 단순 접수 순서 외에도 업무 중요도를 고려한 처리가 가능합니다.
5. 내부 메모
담당자는 고객에게 공개하는 답변과 별개로 내부 메모를 관리할 수 있습니다.
내부 업무 기록과 고객 응답을 분리하는 데 목적이 있습니다.
6. 자주 사용하는 답변
반복되는 안내 내용을 미리 등록하여 관리할 수 있습니다.
고객지원 담당자의 반복 입력을 줄이고 응답 문구를 일관되게 유지하는 데 도움이 됩니다.
7. 운영 현황 및 보고서
관리자 대시보드와 보고서 화면을 통해 고객지원 업무 현황을 확인할 수 있습니다.
문의 관리 기능과 운영 현황 조회 기능을 구분하여 제공합니다.
관리자 화면
Glitter Help Desk는 다음과 같은 관리자 Layout을 제공합니다.
| 관리자 화면 | 기능 |
|---|---|
| Dashboard | 고객지원 운영 현황 |
| Ticket Index | 전체 티켓 목록 |
| Assigned Tickets | 배정된 티켓 관리 |
| Ticket Detail | 티켓 상세 및 처리 |
| Categories | 문의 카테고리 관리 |
| Canned Replies | 자주 사용하는 답변 관리 |
| Settings | 고객지원 설정 |
| Reports | 운영 보고서 |
관리자 화면은 G7의 기존 관리자 시스템과 연동됩니다.
별도의 독립 관리자 프레임워크를 만들지 않고 기존 Layout 및 Permission 구조를 활용합니다.
사용자 화면
일반 사용자를 위한 Layout은 세 가지입니다.
| 화면 | 경로 | 기능 |
|---|---|---|
| 내 문의 목록 | /my/tickets |
본인 문의 조회 |
| 문의 작성 | /my/tickets/create |
새 문의 접수 |
| 문의 상세 | /my/tickets/{id} |
문의 내용 및 답변 확인 |
고객지원 업무는 일반 게시판과 독립적으로 관리되며, 사용자에게는 자신의 문의를 중심으로 필요한 기능을 제공합니다.
Permission
Glitter Help Desk는 별도의 인증 시스템을 만들지 않고 G7의 기존 인증 및 Permission 체계를 활용합니다.
관리자 권한
| Permission | 설명 |
|---|---|
tickets.read-all |
전체 티켓 조회 |
tickets.read-assigned |
배정된 티켓 조회 |
tickets.respond |
문의 답변 |
tickets.assign |
담당자 배정 |
tickets.update-status |
티켓 상태 변경 |
tickets.update-priority |
우선순위 변경 |
notes.manage |
내부 메모 관리 |
categories.manage |
카테고리 관리 |
settings.manage |
고객지원 설정 관리 |
reports.read |
보고서 조회 |
고객 권한
| Permission | 설명 |
|---|---|
tickets.create |
문의 생성 |
tickets.read-own |
본인 문의 조회 |
tickets.reply |
본인 문의 답변 |
실제 G7 등록 권한에는 glitter-help_desk. 접두사가 사용됩니다.
관리자와 고객의 기능은 권한 경계를 구분하여 설계했습니다.
G7 기능을 다시 만들지 않는 방향
Glitter Help Desk는 G7의 기존 기능을 가능한 한 재사용하는 방향으로 설계했습니다.
- Module Lifecycle
- Authentication
- Permission
- Admin Menu
- API Routing
- Layout Registration
- 한국어·영어 번역
- 공식 모듈 아이콘 제공 구조
GnuBoard7 Official
│
├── Authentication
├── Permission
├── Module Lifecycle
├── Admin Layout
└── API Routing
│
▼
Glitter Help Desk
│
├── Tickets
├── Messages
├── Assignments
├── Categories
├── Canned Replies
├── Settings
└── Reports
모듈은 고객지원에 필요한 업무 기능에 집중합니다.
이 구조는 고객지원 기능을 G7 코어와 분리하여 유지보수하기 위한 선택입니다.
v0.1.3 주요 개선 사항
1. 아이콘 호환성 개선
관리자 및 사용자 인터페이스에서 사용하던 일부 아이콘 이름을 지원되는 이름으로 변경했습니다.
대표적으로 다음 아이콘을 정리했습니다.
commentclockchart-barfile-alt
아이콘 호환성 문제로 화면에서 아이콘이 누락되는 상황을 줄이기 위한 변경입니다.
2. 관리자 UI 구성 개선
v0.1.3에 이르기까지 관리자 화면의 간격, 카드 구성, 검색 영역과 입력 폼을 정리했습니다.
- 관리자 카드와 콘텐츠 간격 정리
- 반응형 검색 및 필터 영역 개선
- 티켓 상세 화면의 정보 영역 분리
- 자주 사용하는 답변 입력 영역 개선
- 카테고리 관리 화면의 그리드 구성 정리
- 담당 티켓 필터의 반응형 구성 개선
3. 사용자 인터페이스 개선
사용자 문의 목록, 작성 및 상세 화면의 기본 구성을 정리하고, 상태 표시와 빈 데이터 화면 등 인터페이스 요소를 보완했습니다.
4. 모듈 아이콘 및 리소스 구성
모듈 전용 SVG 아이콘을 제공하며, G7 모듈 관리 화면의 공식 아이콘 제공 구조를 활용합니다.
외부 CDN에 의존하지 않는 구성을 지향합니다.
데이터 관리와 안정성
중복 요청 방지
티켓 및 메시지 생성 처리에는 요청 식별 키를 이용한 중복 방지 구조가 포함되어 있습니다.
같은 요청이 반복되어 처리될 때 중복 데이터가 생성되는 상황을 줄이기 위한 설계입니다.
상태 전환 검증
해결된 티켓에 고객 답변이 추가되는 경우 재개 처리할 수 있도록 구성했습니다.
종료된 티켓과 해결된 티켓은 서로 다른 상태로 취급합니다.
카테고리 검증
카테고리의 자기 참조 및 순환 참조를 방지하는 검증을 포함합니다.
비활성 카테고리의 사용 여부도 검증합니다.
데이터베이스 처리
주요 티켓 처리 로직은 서비스 계층에서 관리하며, 트랜잭션과 잠금 처리를 활용하도록 구성했습니다.
v0.1.3 현재 규모
v0.1.3 구현 및 설치 확인 기록 기준입니다.
| 항목 | 규모 |
|---|---|
| 모듈 식별자 | glitter-help_desk |
| 버전 | 0.1.3 |
| 관리자 Layout | 8개 |
| 사용자 Layout | 3개 |
| 등록 Layout 합계 | 11개 |
| 등록 API Route | 25개 |
| 등록 Permission | 19개 |
| 관련 DB 테이블 | 7개 |
| 지원 언어 | 한국어·영어 |
| 라이선스 | MIT |
검증 현황
기존 점검 기록에서는 다음 결과를 확인했습니다.
| 검증 항목 | 결과 |
|---|---|
| 모듈 설치 및 활성화 | PASS |
| Database 테이블 등록 | PASS |
| Permission 등록 | PASS |
| Layout 등록 | PASS |
| Route 등록 | PASS |
| 기본 QA 점검 | 21 PASS / 0 FAIL / 3 SKIP |
| QA Seed Dry Run | 14 PASS / 0 FAIL / 2 SKIP |
다만 이 결과만으로 실제 고객 문의 생성부터 담당자 배정, 답변, 해결 및 종료까지의 모든 운영 흐름이 검증되었다고 볼 수는 없습니다.
실제 티켓 처리 흐름과 역할별 Permission 경계는 별도의 통합 검증이 필요합니다.
v0.1.3 — 공개 릴리스
Glitter Help Desk v0.1.3은 GnuBoard7에서 고객지원 업무를 독립적으로 관리하기 위한 초기 공개 릴리스입니다.
Create
↓
Assign
↓
Respond
↓
Resolve
↓
Track
고객이 문의를 등록하면 담당자가 이를 확인하고 처리하며, 답변과 상태 변경 과정을 티켓 단위로 관리합니다.
Glitter Help Desk v0.1.3
Customer Support & Ticket Management for GnuBoard7
요구 사항
- GnuBoard7 Official의 호환 모듈 환경
- PHP 8.3 기반 운영 환경
- Laravel 기반 G7 Module Lifecycle
- G7 인증 및 Permission 시스템
- MySQL 또는 MariaDB
정확한 최소 지원 버전과 필수 의존성은 해당 릴리스의 module.json, composer.json 및 설치 환경을 기준으로 확인해야 합니다.
관리자 페이지에서 설치
1. GitHub 저장소에서 설치 (권장)
관리자 → 모듈 관리 → 수동 설치 → GitHub
아래 저장소 URL을 입력합니다.
https://github.com/glitter-node/glitter-help_desk
설치 후 모듈을 활성화하면 관리자 영역에서 다음 기능을 사용할 수 있습니다.
- 고객지원 대시보드
- 전체 문의 관리
- 담당 문의 관리
- 문의 상세 및 답변
- 카테고리 관리
- 자주 사용하는 답변 관리
- 고객지원 설정
- 문의 현황 및 보고서
일반 사용자는 부여된 권한에 따라 문의 작성, 본인 문의 조회 및 추가 답변 기능을 사용할 수 있습니다.
설치·활성화 시 G7 Module Lifecycle에 따라 Migration, Permission, Layout, Route 등의 항목이 등록됩니다. 관리자 메뉴도 모듈 정의와 설치 계약에 따라 등록됩니다.
운영 환경에서는 설치·업데이트 전에 데이터베이스와 파일을 백업하고 버전 호환성을 확인하는 것이 좋습니다.
2. ZIP 패키지 설치
GitHub Release에서 G7 모듈 설치용 ZIP을 다운로드합니다.
glitter-help_desk-v0.1.3.zip 다운로드
G7 관리자에서:
관리자 → 모듈 관리 → 수동 설치 → 파일 업로드
방식으로 ZIP 파일을 설치할 수 있습니다.
GitHub 자동 생성 소스 ZIP과 G7 모듈 설치용으로 별도 업로드한 ZIP 파일은 구분해야 합니다.
모듈 설치용 패키지에는 실행에 필요한 PHP 소스, 마이그레이션, Layout, 번역 파일 및 빌드된 정적 자산이 포함되어야 합니다.
3. CLI를 통한 설치
G7 프로젝트에 모듈 소스가 정상적으로 배치되어 있다면 공식 Artisan 명령을 이용할 수 있습니다.
/usr/local/bin/php83 artisan module:install glitter-help_desk
/usr/local/bin/php83 artisan module:activate glitter-help_desk
위 명령은 PHP 8.3을 사용하는 환경의 예시입니다.
실제 설치 위치와 PHP 실행 파일 경로는 운영 환경에 따라 달라질 수 있습니다.
4. 설치 후 페이지 로드 문제가 발생할 때
먼저 다음 사항을 확인합니다.
- 모듈 설치 및 활성화 상태
- Migration 적용 상태
- 관리자 Permission 등록 상태
- 관리자 메뉴 및 Layout 등록 상태
- 사용자 Layout 등록 상태
- API Route 등록 상태
- 모듈 JS/CSS 정적 자산 로드 상태
- 현재 계정의 접근 권한
사용자 페이지의 대표 경로는 다음과 같습니다.
/my/tickets
/my/tickets/create
/my/tickets/{id}
HTTP 200 응답만으로 실제 기능이 정상 작동한다고 판단하지 말고, API 응답과 화면 렌더링을 함께 확인해야 합니다.
필요한 경우 G7 공식 Lifecycle과 캐시 관리 기능을 이용해 상태를 점검합니다.
모듈 파일을 활성 디렉터리에 직접 덮어쓰는 방식은 권장하지 않습니다.
GitHub 릴리스 및 다운로드
GitHub Repository
https://github.com/glitter-node/glitter-help_desk
Release v0.1.3
https://github.com/glitter-node/glitter-help_desk/releases/tag/v0.1.3
README v0.1.3
https://github.com/glitter-node/glitter-help_desk/blob/v0.1.3/README.md
ZIP 다운로드
TAR.GZ 다운로드
알려진 제한 사항
Glitter Help Desk v0.1.3은 고객지원 업무를 위한 기본 기능을 제공하지만, 다음 항목은 추가적인 운영 검증이 필요합니다.
- 실제 고객·담당자 간 전체 티켓 처리 흐름
- 역할별 Permission 매트릭스
- 실제 인증 상태에서의 API 접근 경계
- 모바일 브라우저 동작
- 다수 담당자가 동시에 티켓을 처리하는 상황
운영 도입 시 초기에는 관리자와 담당자 권한을 명확히 구성하고, 실제 문의 처리 흐름을 확인하는 것이 좋습니다.
라이선스
MIT License.
Copyright (c) 2026 Glitter.kr
정확한 저작권 고지와 라이선스 조건은 저장소의 LICENSE 파일을 따릅니다.
권장 설치 방식
이 버전은 ZIP 설치보다 GitHub 저장소 설치를 권장합니다.
G7 관리자에서 GitHub 저장소 URL을 이용하면 모듈 버전 관리와 업데이트 흐름을 유지하기 쉽습니다.
https://github.com/glitter-node/glitter-help_desk
특정 릴리스 파일을 별도로 보관하거나 폐쇄망·수동 배포 환경에서 설치해야 한다면 GitHub Release에 등록된 ZIP 패키지를 활용할 수 있습니다.
Glitter Help Desk v0.1.3
Create → Assign → Respond → Resolve → Track
고객 문의를 접수하고, 담당자를 배정하고, 답변과 해결 상태를 관리하며 처리 이력을 추적하는 GnuBoard7 전용 고객 응대 데스크 모듈입니다.
이 개발자의 다른 프로젝트