corpi a1981b0577 feat(room): 공간 카드에 실제 사진 소스와 교체 경로를 연결
맥락:
- 오늘의 공간 카드를 단색에서 실제 사진 기반으로 전환하고, 사진 출처를 추적할 수 있는 링크가 필요했다.
- 추후 자가 호스팅 이미지로 교체할 수 있도록 데이터 구조에서 전환 경로를 미리 확보해야 했다.

변경사항:
- entities/room 모델에 cardPhotoUrl, googleImageSearchUrl, managedCardPhotoUrl 필드를 추가했다.
- 10개 공간 카드에 실제 사진 URL과 Google 이미지 검색 링크를 매핑했다.
- getRoomCardPhotoUrl, getRoomCardBackgroundStyle helper를 추가해 추후 managed 이미지로 교체 가능한 fallback 구조를 만들었다.
- RoomPreviewCard 배경을 실제 사진 렌더링으로 변경하고, 텍스트 가독성을 위한 오버레이를 적용했다.
- 세션 문서(90_current_state, session_brief)에 이번 작업 내역과 리스크를 반영했다.

검증:
- npx tsc --noEmit

세션-상태: 오늘의 공간 카드에 실제 사진 소스/구글 링크/교체 경로 반영 완료
세션-다음: RoomSheet/도크 패널의 인원수 기반 표현을 분위기형 정보로 전환
세션-리스크: 외부 이미지 URL 의존으로 소스 만료/속도 이슈 가능성이 있어 자가 호스팅 전환 필요
2026-03-01 00:01:39 +09:00
2026-02-26 12:29:45 +09:00
2026-02-26 12:29:45 +09:00
2026-02-25 15:34:50 +09:00

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-dump
  • src/widgets : 페이지 섹션 단위 UI (TopBar, StartRitual, RoomsGallery, SpaceShell 등)
  • src/shared : 공용 UI, 유틸, 설정
  • src/app : App Router 페이지 조합

구현 범위

이번 변경은 UI 목업 중심입니다.

  • 타이머 카운트다운/오디오 재생/실시간/DB 저장/API 호출 미구현
  • 선택 하이라이트, 패널 토글, 모달 탭, 드롭다운, 라우팅, 토스트만 구현

문서(작업 재개용)

세션이 끊겨도 같은 품질로 이어서 작업하려면 아래 문서를 먼저 확인합니다.

  • docs/README.md
  • docs/00_project_brief.md
  • docs/01_ui_guidelines.md
  • docs/02_arch_fsd_rules.md
  • docs/03_routes_map.md
  • docs/90_current_state.md
Description
No description provided
Readme 1.1 MiB
Languages
TypeScript 92.8%
CSS 6.7%
Shell 0.3%
JavaScript 0.2%