그누보드7 팝업스토어 예약 모듈 - glitter-reservation_popup
코어 수정 없이 붙여 사용하는 그누보드7 팝업스토어 예약 모듈로, 이벤트/회차/예약/취소/QR 체크인까지 이어지는 전체 운영 흐름을 모듈 단위로 제공합니다.
개요
glitter-reservation_popup은 그누보드7에서 동작하는 번들형 팝업스토어 예약 모듈입니다.
팝업 이벤트 등록, 회차 관리, 예약 생성, 예약 취소, QR 체크인까지 이어지는 전체 운영 흐름을 제공하며, 코어 수정 없이 어떤 그누보드7 프로젝트에도 독립적으로 붙여 사용할 수 있도록 설계되었습니다.
프로젝트 소개
이 프로젝트는 단순한 예약 폼이 아닙니다.
그누보드7의 modules / plugins / templates 구조 위에서 동작하는 모듈형 팝업 예약 시스템으로, 사용자 예약부터 관리자 운영까지 이어지는 전체 업무 흐름을 지원합니다.
또한 API 기반 백엔드 구조와 JSON Layout 기반 UI 렌더링을 통해 화면 구조와 동작을 유연하게 제어할 수 있습니다.
주요 기능
Modular Architecture
예약 기능은 코어와 분리된 모듈로 구성되어 있습니다.
modules/_bundled 경로에 복사하는 방식으로 G7 다른 프로젝트에서도 재사용할 수 있으며, 커스터마이징과 배포 경계를 명확하게 유지할 수 있습니다.
JSON Layout-Based UI
UI는 JSON 레이아웃 정의를 기반으로 렌더링됩니다.
template routing, layout resolve, API 기반 데이터 연동, action handler를 통해 뷰 템플릿에 강하게 의존하지 않고 유연한 페이지 구성이 가능합니다.
Popup Reservation Flow
- 팝업 이벤트 생성
- 회차(Slot) 생성
- 예약 생성
- 예약 조회
- 예약 취소
- QR 체크인
전체 예약 흐름은 상태 기반 프로세스로 구성되어 있습니다.
QR Check-in System
예약 정보 기반 체크인을 지원합니다.
중복 체크인 방지와 예약 상태 검증을 통해 현장 운영 흐름을 지원하도록 설계되었습니다.
Admin System
사용자 영역과 관리자 영역이 분리되어 있습니다.
관리자에서는 이벤트 관리, 회차 관리, 예약 목록 조회, 예약 상태 확인, 체크인 관리 등 운영에 필요한 기능을 제공합니다.
기술 스택
- PHP 8.2+
- Laravel 12.x
- MySQL 8
- Laravel Sanctum
- JSON Layout Engine
- TypeScript
설치 방법
Release에서 번들 패키지 다운로드
압축 해제 후 생성된 폴더(glitter-reservation_popup)를 아래 경로에 복사합니다.
modules/_bundled/
관리자 > 모듈 관리에서 해당 모듈 설치(활성화)
참고 사항
- public 및 admin 페이지 노출은 template routes.json에서 설정해야 합니다.
- API 요청은 Accept: application/json 헤더 사용을 권장합니다.
- 실제 실행해야 하는 마이그레이션은 database/migrations 경로에 포함된 항목입니다.
- database/migrations_excluded 경로는 실행 대상이 아닙니다.
- 관리자 레이아웃은 sirsoft-admin_basic 활성 상태에서 등록됩니다.
- production 환경에서는 개발용 devtools route가 비활성화됩니다.
대상 사용자
다음과 같은 사용자에게 적합합니다.
- 그누보드7 기반에서 팝업스토어 예약 시스템을 구축하고 싶은 개발자
- 오프라인 행사 및 팝업 이벤트를 운영하는 운영자
- API 기반 백엔드와 동적 UI 렌더링 구조에 관심 있는 개발자
- 모듈 단위로 확장 가능한 CMS 구조를 설계하고 싶은 사용자
설계 의도
이 프로젝트는 단순한 이벤트 예약 페이지가 아니라,
CMS 구조 안에서 독립적으로 동작하는 팝업스토어 예약 시스템 모듈을 만드는 것을 목표로 합니다.
상태
안정적인 배포가 가능한 상태입니다.
현재 모듈은 설치 및 재사용이 가능하며, GitHub Release를 통해 배포되고 있습니다.
v0.1.0에서는 다음 기능이 구현되어 있습니다.
- 이벤트 관리
- 회차(Slot) 관리
- 예약 생성
- 예약 취소
- QR 체크인
- 관리자 API
- 관리자 JSON Layout
또한 Production Host 환경에서 다음 항목에 대한 검증을 완료했습니다.
- 모듈 설치 및 활성화
- 권한 및 라우트 등록
- 관리자 레이아웃 등록
- 예약 생성 및 취소
- QR 체크인
- 중복 체크인 방지
관리자 페이지 설치
1. GitHub 저장소에서 설치 (권장)
관리자 → 모듈 관리 → 수동 설치 → GitHub
아래의 저장소 URL을 입력합니다.
https://github.com/glitter-node/glitter-reservation_popup
설치 완료 후 '반짝이 예약 팝업' 모듈을 활성화하면 반짝이 예약 팝업 관리 사이드 메뉴가 생성됩니다.
2. ZIP 패키지 설치
Release에서 ZIP 패키지를 다운로드한 후 관리자 → 모듈 관리 → 수동 설치 → 파일 업로드를 통해 설치할 수도 있습니다.
다만 GitHub 저장소를 통한 설치 및 업데이트를 권장합니다.
3. 설치 후 생성된 페이지의 로드 에러 발생 시
관리자 → 환경설정 → 고급 → 캐시 모두 삭제
저장소
Release https://github.com/glitter-node/glitter-reservation_popup/releases/tag/v0.1.1
GitHub https://github.com/glitter-node/glitter-reservation_popup
라이선스
MIT License.
이 개발자의 다른 프로젝트
그누보드7 예약 모듈 - glitter-reservation
코어 수정 없이 붙여 사용하는 그누보드7 예약 모듈로, 신청·인증·조회·취소·관리까지 예약 흐름 전체를 모듈 단위로 제공합니다.
그누보드7 상담예약 템플릿 - Glitter Academy Core
GnuBoard7 Template 엔진 기반으로 상담예약 사이트 구성을 위한 초기 템플릿 예제로 설계되었습니다.
그누보드7 커뮤니티 템플릿 - SIRsoft Community
쇼핑몰(이커머스 의존)을 제거하고 커뮤니티 기능에 집중한 경량 사용자 템플릿, ID : sirsoft-comm