a1981b0577e46be98fc4972367041607228bfca4
맥락: - 오늘의 공간 카드를 단색에서 실제 사진 기반으로 전환하고, 사진 출처를 추적할 수 있는 링크가 필요했다. - 추후 자가 호스팅 이미지로 교체할 수 있도록 데이터 구조에서 전환 경로를 미리 확보해야 했다. 변경사항: - entities/room 모델에 cardPhotoUrl, googleImageSearchUrl, managedCardPhotoUrl 필드를 추가했다. - 10개 공간 카드에 실제 사진 URL과 Google 이미지 검색 링크를 매핑했다. - getRoomCardPhotoUrl, getRoomCardBackgroundStyle helper를 추가해 추후 managed 이미지로 교체 가능한 fallback 구조를 만들었다. - RoomPreviewCard 배경을 실제 사진 렌더링으로 변경하고, 텍스트 가독성을 위한 오버레이를 적용했다. - 세션 문서(90_current_state, session_brief)에 이번 작업 내역과 리스크를 반영했다. 검증: - npx tsc --noEmit 세션-상태: 오늘의 공간 카드에 실제 사진 소스/구글 링크/교체 경로 반영 완료 세션-다음: RoomSheet/도크 패널의 인원수 기반 표현을 분위기형 정보로 전환 세션-리스크: 외부 이미지 URL 의존으로 소스 만료/속도 이슈 가능성이 있어 자가 호스팅 전환 필요
VibeRoom Web
Next.js(App Router) + TypeScript + TailwindCSS 기반 VibeRoom 프론트엔드입니다.
실행 방법
npm install
npm run dev
브라우저에서 http://localhost:3000 접속
주요 라우트
/: Landing 페이지 (src/app/(landing)/page.tsx)/app: 가상공간 입장 허브/space: 집중공간 스켈레톤/stats: 집중 통계 목업/settings: 설정 목업/login: 로그인
구조
FSD 스타일로 src/ 하위 레이어를 사용합니다.
src/entities: room/user/session 타입 + 더미 데이터src/features: room-select/check-in/reactions/custom-entry-modal/profile-menu/distraction-dumpsrc/widgets: 페이지 섹션 단위 UI (TopBar, StartRitual, RoomsGallery, SpaceShell 등)src/shared: 공용 UI, 유틸, 설정src/app: App Router 페이지 조합
구현 범위
이번 변경은 UI 목업 중심입니다.
- 타이머 카운트다운/오디오 재생/실시간/DB 저장/API 호출 미구현
- 선택 하이라이트, 패널 토글, 모달 탭, 드롭다운, 라우팅, 토스트만 구현
문서(작업 재개용)
세션이 끊겨도 같은 품질로 이어서 작업하려면 아래 문서를 먼저 확인합니다.
docs/README.mddocs/00_project_brief.mddocs/01_ui_guidelines.mddocs/02_arch_fsd_rules.mddocs/03_routes_map.mddocs/90_current_state.md
Description
Languages
TypeScript
92.8%
CSS
6.7%
Shell
0.3%
JavaScript
0.2%