54fe3d36e7
암묵적 방 생성을 명시적 방 관리로 확장한다. (기능 완성 + 임시 UI) 백엔드 - meeting_rooms 에 scheduled_at(예약), allowed_user_ids(참여 허용 allow-list) 추가 + 마이그레이션 - GET /meetings/rooms(목록: 접근 가능/진행자 여부 포함) - POST /meetings/rooms(생성: name+예약+허용멤버, 생성자=진행자, 이름 중복 409) - DELETE /meetings/rooms/:id(진행자만, 아니면 403) - 토큰 발급 시 참여 제한 enforcement: 비허용자는 AUTH_003(403). 방이 없으면 자동 생성(공개)으로 직접 링크 입장은 유지. 프론트 - useMeeting: listRooms/createRoom/removeRoom + types/meeting.ts - MeetingPage 로비: 방 목록(입장/삭제) + 생성 폼(예약시각·참여 제한 멤버 피커, useUser 검색 재사용) + 빠른 입장 - 화상회의_화면명세.md 단계 4 반영(범위/로비/데이터 계약/엔드포인트) 권한 모델은 기존 결정대로 "누구나 생성=진행자" 유지(전역 admin 없음). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
frontend
This template should help get you started developing with Vue 3 in Vite.
Recommended IDE Setup
VS Code + Vue (Official) (and disable Vetur).
Recommended Browser Setup
- Chromium-based browsers (Chrome, Edge, Brave, etc.):
- Firefox:
Type Support for .vue Imports in TS
TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.
Customize configuration
See Vite Configuration Reference.
Project Setup
npm install
Compile and Hot-Reload for Development
npm run dev
Type-Check, Compile and Minify for Production
npm run build
Run Unit Tests with Vitest
npm run test:unit