## 1. 개요
게시판에 미니클럽 스킨을 적용하면 그 게시판 하나가 가입대기 → 정회원 → 부매니저 → 매니저 4단계로 운영되는 소규모 회원제 커뮤니티로 바뀝니다. "글쓰기"는 가입신청서 작성, "목록"은 회원 명부, "보기"는 회원 프로필로 동작합니다.회원 명부와 게시글(목록·본문 모두)은 정회원 이상만 볼 수 있는 비공개입니다. 가입대기 중이거나 아직 가입하지 않은 방문자는 클럽 소개와 가입신청 버튼만 보이고, 명부/게시글은 "정회원만 볼 수 있는 클럽입니다"라는 안내로 가려집니다. 사이트 최고관리자·그룹관리자는 가입 여부와 무관하게 항상 전체를 볼 수 있습니다. 본인이 쓴 글은 본인은 항상 볼 수 있습니다.
일반 게시글의 목록 줄(제목·작성자·아바타·조회수·댓글수·공지 고정·검색 등)은 미니클럽 스킨 자체에서 렌더링합니다(boards/skins/miniclub/parts/_post_rows.php) 다른 스킨 파일에 의존하지 않아 환경에 따라 깨지지 않습니다. 게시글 검색창도 포함되어 있습니다.
"내 등급" 옆에는 클럽회원 버튼이 있어, 정회원 이상이면 누구나 눌러서 사이드 패널로 회원을 이름 검색하며 둘러볼 수 있습니다(관리 동작은 없고 조회 전용). 매니저/부매니저는 별도의 "운영 패널" 버튼으로 등업·강등·추방 등 관리 동작을 수행합니다.
가입신청서에 어떤 항목을 받을지는 DXCMS 기존 기능인 여분필드(BoardFields)로 정합니다. 미니클럽 스킨은 그 여분필드 값을 읽어서 폼과 프로필 화면에 그대로 뿌려주기만 할 뿐, 별도의 입력 항목 시스템을 갖고 있지 않습니다. 즉 무엇을 받을지는 전적으로 게시판 관리 화면에서 직접 정의해야 하고, 이 문서의 4장에서 추천 항목 예시를 드립니다.
참고로, 요번 게시판 스킨은 플러그인으로 개발할려다가, core 추가하는 방법과 extend 활용한 게시판입니다.
코어를 추가하는 것은 무한대입니다. 코어를 추가한 다음, 공유해주셔도 많은 도움이 될 수 있습니다.
## 2. 설치
압축 파일을 DXCMS 설치 경로에 그대로 풀어 덮어쓰면 됩니다. 전부 신규 파일이라 기존 파일과 충돌하지 않습니다.| 파일 | 역할 |
|---|---|
| `core/MiniClub.php` | 클럽 엔진 (등급/권한/명부 관리) |
| `core/api/miniclub.php` | 운영 패널이 사용하는 AJAX API (`/api/miniclub`) |
| `extend/top/60_miniclub.php` | 부팅 시 자동 로더 (가입신청/탈퇴 훅 등록) |
| `boards/skins/miniclub/*` | 스킨 본체 (list/write/view + CSS/JS) |
페이지를 한 번 로드하면 `dx_miniclub_boards`, `dx_miniclub_members` 테이블이 자동 생성됩니다. 별도 SQL 실행은 필요 없습니다.
## 3. 게시판 생성 및 스킨 적용
1. 관리자 → 게시판 관리에서 새 게시판을 만들거나 기존 게시판을 엽니다.2. 게시판 스킨 드롭다운에서 미니클럽을 선택하고 저장합니다.
3. 글쓰기 권한(write_level)은 기본값 `1`(회원만)을 그대로 두세요. 비회원도 글을 쓸 수 있게 `0`으로 두면 가입신청 로직이 정상 동작하지 않습니다.
## 4. 여분필드 설정 — 가입신청서에 무엇을 넣을지
### 추천 예시 세트 (소규모 동호회/모임 기준)
club 성격에 맞게 가감하시면 되고, 아래는 바로 써도 무난한 기본 구성입니다.| 필드 키 | 라벨 | 타입 | 필수 | 비고 |
|---|---|---|---|---|
| `phone` | 연락처 | 전화번호 | 필수 | 운영진이 단체 공지·긴급 연락 시 사용 |
| `referrer` | 추천인 | 텍스트 | 선택 | 기존 회원 추천 가입 추적용 |
| `join_route` | 가입 경로 | 선택(드롭다운) | 선택 | 선택지: `지인 추천`, `SNS`, `검색`, `기타` |
| `interest` | 관심 분야 | 텍스트에어리어 | 선택 | 자유 서술 |
| `available_time` | 활동 가능 시간대 | 체크박스 | 선택 | 선택지: `평일 저녁`, `주말 오전`, `주말 오후` |
자기소개/가입 인사말 자체는 여분필드가 아니라 미니클럽 스킨이 기본 제공하는 **본문(content) 필드**로 이미 필수 입력되니 별도로 만드실 필요는 없습니다.
이 부분은 이미지를 참고하시면 됩니다.








## 5. 운영 패널 — 클럽 설정
명부 화면(게시판 메인) 상단 헤더 영역에 매니저/부매니저/사이트 관리자 눈에만 "운영 패널" 버튼이 보입니다. 클릭하면 같은 게시판 화면 안에서 그 아래로 패널이 펼쳐집니다(별도 창이나 화면 전체를 덮는 오버레이가 아니라, 게시판 콘텐츠 영역 안에 포함된 카드 형태입니다). 탭은 다음과 같습니다.- 회원관리: 검색 + 등급 필터 + 등업/강등/추방 버튼 (부매니저는 등업만 가능)
- 전체메모: 정회원 이상 전체에게 쪽지 발송 (매니저 이상만 보임)
- 클럽 설정: 사이트 최고관리자/그룹관리자만 보입니다.
- 매니저 지정: 기존 회원의 로그인 아이디를 입력하면 그 회원이 즉시 매니저로 등록됩니다. (게시판 관리자를 매니저로 자동 연동하는 기능)
- 등급별 사이트 레벨 매핑: 가입대기/정회원/부매니저/매니저 각각 몇 번 레벨로 기록할지 지정 (기본 1~4)
- 가입신청 시 레벨 강제 초기화: 꺼두면 이미 레벨이 높은 신청자의 레벨을 건드리지 않음
- 가입 환영 문구 / 클럽 소개글
## 6. 등급 체계와 권한표
| 등급 | 회원 등업 | 회원 강등 | 회원 추방 | 명부 열람(가입대기 포함) | 전체메모 | 클럽 설정 ||---|:---:|:---:|:---:|:---:|:---:|:---:|
| 가입대기 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 정회원 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 부매니저 | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ |
| 매니저 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| 사이트 최고관리자 / 그룹관리자(role) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
부매니저의 등업에는 상한이 없어, 정회원을 부매니저로 만드는 것뿐 아니라 부매니저를 매니저로 등업시키는 것도 가능합니다. 막아야 한다면 알려주세요.
## 7. 회원 입장에서의 흐름
1. 로그인 후 게시판 방문 → "가입 신청하기" 버튼2. 자기소개(필수) + 여분필드 항목 작성 후 제출 → 가입대기 상태로 등록, 설정된 환영 문구가 화면에 표시됨
3. 매니저/부매니저가 운영 패널에서 등업 → 정회원
4. 본인 신청서는 "내 등급" 배지를 눌러 언제든 수정 가능
5. 탈퇴는 신청서 수정 화면의 "탈퇴하기" 버튼
6. 정회원이 된 이후에는 명부 화면의 "게시글" 영역에서 "글쓰기" 버튼으로 일반 게시글(공지·후기·잡담 등)을 자유롭게 작성할 수 있습니다. 이 글쓰기/보기 화면은 베이직 스킨의 화면을 그대로 사용하므로 CKEditor, 파일첨부, 카테고리, 댓글(답글·좋아요 포함) 등 베이직의 모든 기능을 그대로 쓸 수 있습니다. 가입신청서와는 완전히 별개로 취급되어 본인 등급이나 명부 정보에는 영향을 주지 않습니다. 게시판 관리에서 공지 사용을 켜두면 사이트 최고관리자 계정으로 글을 쓸 때 "공지" 체크박스가 나타나고, 체크해서 등록한 글은 "게시글" 목록 맨 위에 노란색으로 고정 표시됩니다.
가입대기 상태에서는 가입신청서 외에 별도 게시글을 쓸 수 없고, "글쓰기"를 다시 눌러도 본인 신청서 수정 화면으로 안내됩니다.


