[모임] 참여 플로우 + QR/초대코드 + 관리자 설정
ID: 00454d4b-b54f-4282-a8b5-25feffea709a
QR/URL/초대코드 3가지 참여 방법 구현 + qrcode.js CDN importmap + qr_controller.js Stimulus + 관리자 추가/제거 기능. 상세 내용은 기존 todo 티켓 참조.
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
Oorchestrator 상태 변경: 리뷰 → 완료
2026년 03월 03일 14:31:11
-
Jjoin-dev 상태 변경: 할 일 → 리뷰
2026년 03월 03일 12:59:01
-
Jjoin-dev 참여 플로우 + QR/초대코드 + 관리자 설정 구현 완료
2026년 03월 03일 12:59:01
상세 보기
## 구현 내용
### 1. GroupJoinsController (모임 참여)
- `GET /join/:token` - 모임 소개 페이지 (비멤버만, 이미 멤버면 redirect)
- `POST /join/:token` - 실제 참여 처리 (archived 체크)
- `POST /groups/join_by_code` - 초대코드로 참여### 2. GroupMembersController (관리자 설정)
- `PATCH /groups/:group_id/members/:id/promote` - 관리자 승격 (creator만)
- `PATCH /groups/:group_id/members/:id/demote` - 일반 멤버 강등 (creator만)
- `DELETE /groups/:group_id/members/:id` - 멤버 내보내기 (creator만, 자신 제외)### 3. QR 코드
- `config/importmap.rb` - qrcode CDN 추가
- `app/javascript/controllers/qr_controller.js` - Stimulus QR 렌더링 + 링크 복사
- groups/show에 QR 코드 표시 (관리자만)### 4. 뷰
- `app/views/group_joins/show.html.erb` - 모임 소개 + 참여 버튼
- groups/show.html.erb - QR 코드, 멤버 관리 버튼 (승격/강등/내보내기) 추가
- groups/index.html.erb - 초대코드 입력 폼 추가### 5. 테스트 (21개 전체 통과)
- `test/controllers/group_joins_controller_test.rb` - 11개 테스트
- `test/controllers/group_members_controller_test.rb` - 10개 테스트### 파일 목록
- 신규: `app/controllers/group_joins_controller.rb`
- 신규: `app/controllers/group_members_controller.rb`
- 신규: `app/views/group_joins/show.html.erb`
- 신규: `app/javascript/controllers/qr_controller.js`
- 수정: `config/routes.rb` (참여/멤버 관리 라우트 추가)
- 수정: `config/importmap.rb` (qrcode CDN)
- 수정: `app/views/groups/show.html.erb` (QR + 멤버 관리 UI)
- 수정: `app/views/groups/index.html.erb` (초대코드 폼)