Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
529 commits
Select commit Hold shift + click to select a range
fe7f32e
🎨 Style: 참가자 목록 모달 UI 구현
seorang42 Jan 5, 2026
b7d6640
📍 Feat: 기존 동작 제거
tjsdn052 Jan 5, 2026
ef218ff
🚚 Chore: ui 컴포넌트를 workspace/ui로 이동
tjsdn052 Jan 5, 2026
d8087ff
✂️ Remove: 사용하지 않는 파일 제거
tjsdn052 Jan 5, 2026
f52ecf3
🚚 Chore: workspace 디렉터리로 파일 이동
tjsdn052 Jan 5, 2026
738cc8b
🔨 Fix: 사용중인 폰트 복원
tjsdn052 Jan 5, 2026
32e156a
🚚 Chore: workspace 내 ui 폴더로 컴포넌트 이동
tjsdn052 Jan 5, 2026
8b986ca
🎨 Style: 채팅 모달 UI 구현
seorang42 Jan 5, 2026
a0fdd17
🎨 Style: 공통 모달 UI 구현
seorang42 Jan 5, 2026
14b0739
🔨 Fix: 참가자, 채팅 버튼 재클릭 시 닫히게 수정
seorang42 Jan 5, 2026
dc84cee
🔨 Fix: 불필요한 템플릿 리터럴 제거
seorang42 Jan 6, 2026
d4a8092
🎨 Style: lick 버튼 순서 변경
tjsdn052 Jan 6, 2026
d119096
🎨 Style: input에 readOnly 추가
tjsdn052 Jan 6, 2026
27d788d
🔨 Fix: input에 readOnly 추가
tjsdn052 Jan 6, 2026
3ceca82
🚚 Chore: 카드와 관련된 백엔드 부분 삭제
KimDwDev Jan 6, 2026
8b1f971
🚚 Chore: 테스트 부분 삭제
KimDwDev Jan 6, 2026
b92b1d9
🚚 Chore: infra 부분 db 정리
KimDwDev Jan 6, 2026
2bf5d03
🚚 Chore: 사이드바 아이콘 파일 추가
tjsdn052 Dec 17, 2025
170c160
🎨 Style: 아이콘 이름 변경
tjsdn052 Dec 17, 2025
f6d31d7
🔨 Fix: tailwind에 맞춰 잘못 작성된 부분 수정
ChaJiTae Dec 17, 2025
56c74a1
🔨 Fix: workSpace 경로 수정
ChaJiTae Dec 17, 2025
d6e1c81
🔨 Fix: useWorkspaceStore.ts 부분도 WorkSpace로 수정
ChaJiTae Dec 17, 2025
eaca07c
🎨 Style: 슬라이드 가이드 컴포넌트 추가
chamny20 Dec 17, 2025
ab8acfd
🔨 Fix: workspace 명 수정
ChaJiTae Dec 18, 2025
1f0e689
🔨 Fix: type:Workspace를 추적하도록 수정
ChaJiTae Dec 18, 2025
3c1b0f9
🔨 Fix: 타입파일명 재변경 : Workspace.ts -\> workspace.ts
ChaJiTae Dec 18, 2025
277f30b
📍 Feat: sideBar에 이미지 아이템 추가
ChaJiTae Dec 18, 2025
c2c5671
🔨 Fix: 빌드 오류 해결
seorang42 Dec 18, 2025
23a5516
📍 Feat: 텍스트 요소 렌더 추가
tjsdn052 Dec 18, 2025
8213132
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
fb4f3a7
✂️ Remove: 프로젝트 파일 정리
seorang42 Jan 5, 2026
d2df003
🚚 Chore: sVGR 패키지 설치 및 아이콘 정의
seorang42 Jan 5, 2026
37a9bfd
🔨 Fix: 빌드 오류 해결
seorang42 Jan 5, 2026
0c97059
✂️ Remove: 사용하지 않는 font 제거
Jan 5, 2026
452a84c
✂️ Remove: workspace 관련 내용 전부 삭제
Jan 5, 2026
a418a59
🚚 Chore: textArea 디렉토리 변경
tjsdn052 Dec 17, 2025
62d33bb
📍 Feat: toolbar 디렉토리 변경 및 아이콘 버튼 컴포넌트 적용
tjsdn052 Dec 17, 2025
f6457df
🔨 Fix: import 경로 수정
tjsdn052 Dec 18, 2025
1809111
📍 Feat: 카드 애니메이션 UI 구현
chamny20 Dec 17, 2025
061e1a3
🔨 Fix: type:Workspace를 추적하도록 수정
ChaJiTae Dec 18, 2025
59ff4d8
📍 Feat: sideBar에 이미지 아이템 추가
ChaJiTae Dec 18, 2025
585ef92
🔨 Fix: textItem 타입 일치 \& 반응 보기 버튼 기본값 수정
seorang42 Dec 17, 2025
0573881
📍 Feat: 텍스트 요소 렌더 추가
tjsdn052 Dec 18, 2025
9369774
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
682d7f8
🔨 Fix: tailwind에 맞춰 잘못 작성된 부분 수정
ChaJiTae Dec 17, 2025
11aca1a
📍 Feat: 카드 애니메이션 UI 구현
chamny20 Dec 17, 2025
45b8d9b
📍 Feat: sideBar에 이미지 아이템 추가
ChaJiTae Dec 18, 2025
1a875b0
📍 Feat: 텍스트 요소 렌더 추가
tjsdn052 Dec 18, 2025
be5acf9
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
ca91aff
🔨 Fix: fe문제 해결
KimDwDev Jan 6, 2026
403f026
📝 Docs: db에 대한 스키마를 작성
KimDwDev Jan 6, 2026
20c644d
🎨 Style: tailwind 클래스로 적용 및 스타일 수정
chamny20 Jan 6, 2026
e48da02
🎨 Style: 사이드바 툴바, 구분선 색상 변경
tjsdn052 Jan 6, 2026
7425f79
🎨 Style: 폰트 선택 드롭다운 ring 색상 변경
tjsdn052 Jan 6, 2026
bd1c111
🚚 Chore: workspace 하위 디렉토리 생성 및 컴포넌트 이동
tjsdn052 Jan 6, 2026
d8df617
🚚 Chore: 충돌로 인한 디렉토리 수정
tjsdn052 Jan 6, 2026
3b193f1
Merge pull request #162 from boostcampwm2025/feature/#104/workspace-ui
tjsdn052 Jan 6, 2026
bc749c2
🤖 Refactor: whiteboard 폴더 명 변경 및 폴더 분리
Jan 6, 2026
7dba38e
🤖 Refactor: 상대경로 -\> 절대 경로로 수정
Jan 6, 2026
d7abcca
Merge pull request #165 from boostcampwm2025/refactor/whiteboard-folder
ChaJiTae Jan 6, 2026
6bd2595
🌈 Update: 필요없는 타입 제거 및 스타일 수정
chamny20 Jan 6, 2026
c9f3e73
📍 Feat: room과 관련된 vo, entity 작성
KimDwDev Jan 6, 2026
2bc36d4
📍 Feat: room, room_participants에 대한 entity 작성
KimDwDev Jan 6, 2026
bcd1024
📍 Feat: react Portal로 최상위에 모달 표시 구현
seorang42 Jan 6, 2026
5790850
Merge pull request #161 from boostcampwm2025/feat/#128/intro-ui
chamny20 Jan 6, 2026
a3bdb9a
📍 Feat: room, room_participant에 대한 aggregate 작성
KimDwDev Jan 6, 2026
771f10c
📍 Feat: 캔버스 화이트보드 기능 구현
tjsdn052 Jan 6, 2026
50ddf05
📍 Feat: zoomControl 기능 추가
tjsdn052 Jan 6, 2026
6044eca
📍 Feat: 회의 정보 저장 및 비밀번호 변경 모달 UI 구현
seorang42 Jan 6, 2026
8db53f0
📍 Feat: 토스트 메세지 임시 구현
seorang42 Jan 6, 2026
e62059b
🚚 Chore: 회의방과 관련된 cache, db 관련 내용 정리
KimDwDev Jan 6, 2026
d915193
📍 Feat: 모달 오버레이 클릭 시의 로직 개선
seorang42 Jan 6, 2026
0ea557b
🚚 Chore: 방을 생성하기 위한 usecase 작성
KimDwDev Jan 6, 2026
bf45112
🤖 Refactor: 캔버스 조작 훅으로 분리
tjsdn052 Jan 6, 2026
383dbda
📍 Feat: room정보를 redis에 저장하는 infra 코드 구현
KimDwDev Jan 6, 2026
6d3c61b
📍 Feat: db에 room에 대한 데이터 저장 로직 구현
KimDwDev Jan 6, 2026
4323f1c
📍 Feat: 방의 정보를 삭제하는 infra 구현
KimDwDev Jan 6, 2026
749b946
🎨 Style: 버튼 스타일 일부 수정
chamny20 Jan 6, 2026
2366f2b
📍 Feat: 미팅룸 상위 페이지 조건부 렌더링 구현
chamny20 Jan 6, 2026
c7570bf
📍 Feat: 미디어 프리뷰에 관한 훅 구현
chamny20 Jan 6, 2026
4231f50
📍 Feat: 화상통화에 필요한 비디오뷰 컴포넌트 구현
chamny20 Jan 6, 2026
d14855d
🎨 Style: 미팅로비 UI 구현
chamny20 Jan 6, 2026
7f75c1d
🚚 Chore: 방 생성을 위한 기본적인 모듈
KimDwDev Jan 6, 2026
c4c336d
✅ Test: 방생성 디버깅 테스트 진행
KimDwDev Jan 6, 2026
29b9d7f
🚚 Chore: 사이드바 아이콘 파일 추가
tjsdn052 Dec 17, 2025
801af68
📍 Feat: 아이콘 컴포넌트 추가
tjsdn052 Dec 17, 2025
d3dd0eb
📍 Feat: toolbar 디렉토리 변경 및 아이콘 버튼 컴포넌트 적용
tjsdn052 Dec 17, 2025
93671ac
🎨 Style: 아이콘 이름 변경
tjsdn052 Dec 17, 2025
7f076ac
🔨 Fix: tailwind에 맞춰 잘못 작성된 부분 수정
ChaJiTae Dec 17, 2025
f8cde68
🔨 Fix: workSpace 경로 수정
ChaJiTae Dec 17, 2025
3d95ad6
🔨 Fix: useWorkspaceStore.ts 부분도 WorkSpace로 수정
ChaJiTae Dec 17, 2025
506249b
🌈 Update: 카드 이미지 에셋 추가
chamny20 Dec 17, 2025
bfb9ed1
📍 Feat: 카드 애니메이션 UI 구현
chamny20 Dec 17, 2025
9ecd859
🎨 Style: 슬라이드 가이드 컴포넌트 추가
chamny20 Dec 17, 2025
9a82792
🔨 Fix: workspace 명 수정
ChaJiTae Dec 18, 2025
aa9ac6b
🔨 Fix: type:Workspace를 추적하도록 수정
ChaJiTae Dec 18, 2025
9836305
🔨 Fix: 타입파일명 재변경 : Workspace.ts -\> workspace.ts
ChaJiTae Dec 18, 2025
4e1f2e0
📍 Feat: sideBar에 이미지 아이템 추가
ChaJiTae Dec 18, 2025
36b3df5
🔨 Fix: 빌드 오류 해결
seorang42 Dec 18, 2025
222ecdc
📍 Feat: 텍스트 요소 렌더 추가
tjsdn052 Dec 18, 2025
04a9b94
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
144704f
✂️ Remove: 프로젝트 파일 정리
seorang42 Jan 5, 2026
10651de
✂️ Remove: workspace 관련 내용 전부 삭제
Jan 5, 2026
538f0a2
🚚 Chore: 아이콘 추가
tjsdn052 Jan 5, 2026
377e643
🚚 Chore: assets\icons\editor 아이콘 추가
tjsdn052 Jan 5, 2026
85a54e2
🤖 Refactor: navButton 아이콘 방식을 SVG 컴포넌트 기반으로 변경
tjsdn052 Jan 5, 2026
affa140
📍 Feat: 실행 취소/다시 실행 버튼 UI 구현
tjsdn052 Jan 5, 2026
7f4f21f
📍 Feat: 공유, 닫기 버튼 ui 작성
tjsdn052 Jan 5, 2026
c1a035a
📍 Feat: 줌 컨트롤 UI 작성
tjsdn052 Jan 5, 2026
ac8c47c
📍 Feat: 사이드바 버튼 클릭시 나타날 패널 UI 작성
tjsdn052 Jan 5, 2026
53a803a
🤖 Refactor: 기존 사이드바 UI 변경
tjsdn052 Jan 5, 2026
82a9fd5
🤖 Refactor: 기존 툴바 UI 수정
tjsdn052 Jan 5, 2026
31919c1
🤖 Refactor: navButton이 activeColor도 props로 받도록 추가
tjsdn052 Jan 5, 2026
40da779
🤖 Refactor: activeBgColor 받도록 추가
tjsdn052 Jan 5, 2026
33dcc96
🚚 Chore: 컴포넌트 파일을 sidebar 디렉터리로 이동
tjsdn052 Jan 5, 2026
6de3c24
📍 Feat: uI 확인용 임시 워크스페이스 페이지 추가
tjsdn052 Jan 5, 2026
b74745c
🎨 Style: 구분선 색상 변경
tjsdn052 Jan 5, 2026
478302f
🎨 Style: 아이콘 크기 수정
tjsdn052 Jan 5, 2026
ea0cae1
📍 Feat: 텍스트 추가 핸들러 제거
tjsdn052 Jan 5, 2026
e3c7068
🎨 Style: 버튼 타이틀 한글로 변경
tjsdn052 Jan 5, 2026
d964acb
📍 Feat: 기존 동작 제거
tjsdn052 Jan 5, 2026
47b1f9e
🚚 Chore: ui 컴포넌트를 workspace/ui로 이동
tjsdn052 Jan 5, 2026
6bed129
✂️ Remove: 사용하지 않는 파일 제거
tjsdn052 Jan 5, 2026
3582300
🚚 Chore: workspace 디렉터리로 파일 이동
tjsdn052 Jan 5, 2026
7614de3
🔨 Fix: 사용중인 폰트 복원
tjsdn052 Jan 5, 2026
8213d91
🚚 Chore: workspace 내 ui 폴더로 컴포넌트 이동
tjsdn052 Jan 5, 2026
8d01dbb
🎨 Style: lick 버튼 순서 변경
tjsdn052 Jan 6, 2026
9d54abd
🎨 Style: input에 readOnly 추가
tjsdn052 Jan 6, 2026
36f28e9
🔨 Fix: input에 readOnly 추가
tjsdn052 Jan 6, 2026
20dda13
🎨 Style: 사이드바 툴바, 구분선 색상 변경
tjsdn052 Jan 6, 2026
124264f
🎨 Style: 폰트 선택 드롭다운 ring 색상 변경
tjsdn052 Jan 6, 2026
c83050b
🚚 Chore: workspace 하위 디렉토리 생성 및 컴포넌트 이동
tjsdn052 Jan 6, 2026
f4a6f16
🚚 Chore: 충돌로 인한 디렉토리 수정
tjsdn052 Jan 6, 2026
4d67742
🤖 Refactor: whiteboard 폴더 명 변경 및 폴더 분리
Jan 6, 2026
cc9eaf4
🤖 Refactor: 상대경로 -\> 절대 경로로 수정
Jan 6, 2026
fdfd648
🚚 Chore: tailwind 활용을 위해 clsx 설치
chamny20 Jan 5, 2026
eaee68e
📍 Feat: 버튼 common component 구현
chamny20 Jan 5, 2026
251080d
🎨 Style: 인트로 UI 화면 구현
chamny20 Jan 5, 2026
44969a7
🎨 Style: 시멘틱 태그 적용 및 접근성 개선
chamny20 Jan 5, 2026
2831cce
🎨 Style: 스타일 일부 수정 및 시멘틱태그 적용
chamny20 Jan 5, 2026
5c4dbc4
🌈 Update: focus 스타일 적용
chamny20 Jan 5, 2026
4655986
🚚 Chore: tailwind-merge 패키지 설치
chamny20 Jan 5, 2026
792ecb2
📍 Feat: 조건부 클래스 적용과 중복 제거 해결을 위한 cn 유틸함수 추가
chamny20 Jan 5, 2026
a4715e4
🌈 Update: 스타일 병합 유틸함수 cn 적용
chamny20 Jan 5, 2026
b8180eb
🎨 Style: tailwind 클래스로 적용 및 스타일 수정
chamny20 Jan 6, 2026
6f23c77
🌈 Update: 필요없는 타입 제거 및 스타일 수정
chamny20 Jan 6, 2026
509b668
📍 Feat: 카드 애니메이션 UI 구현
chamny20 Dec 17, 2025
00b0bbe
🔨 Fix: type:Workspace를 추적하도록 수정
ChaJiTae Dec 18, 2025
405a24a
📍 Feat: sideBar에 이미지 아이템 추가
ChaJiTae Dec 18, 2025
4829966
📍 Feat: 텍스트 요소 렌더 추가
tjsdn052 Dec 18, 2025
ea9e247
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
1c7acd8
🔨 Fix: tailwind에 맞춰 잘못 작성된 부분 수정
ChaJiTae Dec 17, 2025
79ad2ed
📍 Feat: 카드 애니메이션 UI 구현
chamny20 Dec 17, 2025
f6b5750
📍 Feat: sideBar에 이미지 아이템 추가
ChaJiTae Dec 18, 2025
cacc2c2
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
ffedab6
📍 Feat: sidebar 텍스트 버튼 클릭시 나타날 textpanel 작성
tjsdn052 Dec 18, 2025
78ade8e
🔨 Fix: type:Workspace를 추적하도록 수정
ChaJiTae Dec 18, 2025
14a09ce
📍 Feat: 텍스트 요소 렌더 추가
tjsdn052 Dec 18, 2025
7eff976
📍 Feat: 카드 애니메이션 UI 구현
chamny20 Dec 17, 2025
6dfabbe
🚚 Chore: websocket 어뎁터 생성
KimDwDev Jan 6, 2026
b401f4d
🚚 Chore: 방에 대한 접속과 관련된 usecase 작성
KimDwDev Jan 6, 2026
0d52e8c
🚚 Chore: disconnect와 관련된 usecase 작성
KimDwDev Jan 6, 2026
d83c300
📍 Feat: room에 정보를 찾는 로직 구현
KimDwDev Jan 6, 2026
835448c
📍 Feat: redis에서 room 정보를 가져오는 로직 구현
KimDwDev Jan 6, 2026
c23b72c
📍 Feat: db에 접속 기록 생성 코드 작성
KimDwDev Jan 7, 2026
2893bc7
📍 Feat: redis에 room에 대한 정보 저장 로직 구현
KimDwDev Jan 7, 2026
d2aa8e9
🤖 Refactor: room 참가자 목록 정리하는 로직 좀더 안전하게 정리
KimDwDev Jan 7, 2026
59b46c7
📍 Feat: 정리
KimDwDev Jan 7, 2026
681a1f2
📍 Feat: 해당 방에 입장자 delete 구현
KimDwDev Jan 7, 2026
460eb87
📍 Feat: 방문자 정보 수정 인프라 구현
KimDwDev Jan 7, 2026
4b4ac96
📍 Feat: redis에서 room에 정보들을 삭제하는 로직 구현
KimDwDev Jan 7, 2026
bd29969
🚚 Chore: 좌표 변환 유틸 디렉토리 변경
tjsdn052 Jan 7, 2026
c83158a
📍 Feat: cursorPanel 추가
Jan 7, 2026
a030a06
📍 Feat: shapePanel 추가
Jan 7, 2026
a4840ae
📍 Feat: shapePanel Icon 순서 정렬
Jan 7, 2026
09d34e1
🌈 Update: circle / diamond Icon svg 변경
Jan 7, 2026
9903cb2
📍 Feat: arrowPanel 추가
Jan 7, 2026
e2b54b9
📍 Feat: textPanel 추가
Jan 7, 2026
63edc70
📍 Feat: mediaPanel 추가
Jan 7, 2026
5df4732
📍 Feat: stackPanel 임시 추가
Jan 7, 2026
83778e8
🚚 Chore: 캔버스 관련 상수 위치 이동
tjsdn052 Jan 7, 2026
bc20482
📍 Feat: linePanel 추가
Jan 7, 2026
9343b57
📍 Feat: toolbarContainer 추가 : 상단 툴바
Jan 7, 2026
77c0fc3
📍 Feat: whiteboard 관련 Type과 Constants 분리
Jan 7, 2026
3c433b5
📍 Feat: 추후 stackpanel에서 사용될 stackList.ts 추가
Jan 7, 2026
c9cf6c7
🚚 Chore: module에 유스케이스 정리하기
KimDwDev Jan 7, 2026
7fb3663
🤖 Refactor: sfu -> signalling으로 이름 변경
KimDwDev Jan 7, 2026
8912e23
📍 Feat: sidebar 기본 추가
Jan 7, 2026
c20ccc7
🌈 Update: sidebar의 textpropertybar 파일 위치 변경
Jan 7, 2026
8f32a67
🎨 Style: button disabled 스타일 전역 추가
chamny20 Jan 7, 2026
89228d6
📍 Feat: 미디어 장치 불러오는 훅 구현
chamny20 Jan 7, 2026
32f8cf2
📍 Feat: 미디어 기기 드롭다운 컴포넌트 구현
chamny20 Jan 7, 2026
d5a586d
🌈 Update: 기기 페칭으로 인한 스트림 갱신 로직 추가
chamny20 Jan 7, 2026
8fa636f
🚚 Chore: websocket 핸드세이크 미들웨어 추가
KimDwDev Jan 7, 2026
918905d
📍 Feat: whiteboard 타입 정의
tjsdn052 Jan 7, 2026
97578f3
📍 Feat: 미디어 스트림 오디오 스트림과 비디오 스트림으로 분리로직 추가
chamny20 Jan 7, 2026
3cdbee1
📍 Feat: 회원이 방에 가입할 수 있게 하는 로직 구현
KimDwDev Jan 7, 2026
85ca01a
📍 Feat: 화이트보드 캔버스 스토어 구현
tjsdn052 Jan 7, 2026
ab4ed5a
📍 Feat: - 아이템 변형시 나타나는 Transformer 구현
tjsdn052 Jan 7, 2026
5c13f1f
📍 Feat: 방에 입장할때 시그널링과의 연합 구현
KimDwDev Jan 7, 2026
0344b6b
📍 Feat: 텍스트 추가 및 편집 구현
tjsdn052 Jan 7, 2026
c65a71d
📍 Feat: 화이트보트 메인 캔버스
tjsdn052 Jan 7, 2026
5591db4
✅ Test: 방입장 나가기 디버깅 테스트 진행
KimDwDev Jan 7, 2026
edb6eab
📍 Feat: 화살표 관련 유틸 함수 추가
tjsdn052 Jan 7, 2026
5b502f6
📍 Feat: 화살표 추가 구현
tjsdn052 Jan 7, 2026
0078be2
🚚 Chore: 유틸 함수 위치 변경
tjsdn052 Jan 7, 2026
284548f
📍 Feat: textArea 생성 위치 수정
tjsdn052 Jan 7, 2026
1e6ee56
🚚 Chore: package.json sideeffect설정
Jan 7, 2026
217017b
✂️ Remove: icon 폴더 구조 분리로 인한 삭제
Jan 7, 2026
57e0084
📍 Feat: arrow 폴더 분리
Jan 7, 2026
cf69ec8
🤖 Refactor: common 아이콘 폴더 분리
Jan 7, 2026
a4228e2
🤖 Refactor: control 관련 아이콘 폴더 분리
Jan 7, 2026
e815702
🤖 Refactor: cursor 관련 아이콘 폴더 분리
Jan 7, 2026
88bc3d1
🤖 Refactor: eraser 관련 아이콘 폴더 분리
Jan 7, 2026
16a1539
🤖 Refactor: line 관련 아이콘 폴더 분리
Jan 7, 2026
53160e6
🤖 Refactor: media 관련 아이콘 폴더 분리
Jan 7, 2026
9dc8c5b
🤖 Refactor: pen 관련 아이콘 폴더 분리
Jan 7, 2026
1707acb
🤖 Refactor: shape 관련 아이콘 폴더 분리
Jan 7, 2026
d6d855c
🤖 Refactor: text 관련 아이콘 폴더 분리
Jan 7, 2026
9ebf3cf
🤖 Refactor: 아이콘 폴더 분리
Jan 7, 2026
84ccbc5
🤖 Refactor: 상대경로 -\> 절대경로로 수정
Jan 7, 2026
85fb129
✂️ Remove: 프론트 파일 삭제
KimDwDev Jan 7, 2026
78ea8bb
🔨 Fix: 프론트엔드 파일 교체
KimDwDev Jan 7, 2026
4df269d
Merge pull request #176 from boostcampwm2025/feature/#129/participate…
KimDwDev Jan 7, 2026
7b0c0f4
🤖 Refactor: 유틸 함수 파일 정리
seorang42 Jan 8, 2026
9af3b8e
🤖 Refactor: 이중 모달 구조 개선
seorang42 Jan 8, 2026
366ea85
📍 Feat: 화살표 클릭 범위 증가
tjsdn052 Jan 8, 2026
c79fb07
Merge pull request #167 from boostcampwm2025/feature/#159/ui
seorang42 Jan 8, 2026
7f7b215
Merge pull request #171 from boostcampwm2025/refactor/#104/whiteboard-ui
ChaJiTae Jan 8, 2026
21181e2
Merge pull request #173 from boostcampwm2025/refactor/whiteboard-icon…
ChaJiTae Jan 8, 2026
a1cd7ea
🚚 Chore: arrow.ts 매직넘버 상수로 분리
tjsdn052 Jan 8, 2026
bf414e4
📍 Feat: 화살표 중간 핸들 조작시 더 부드럽게 휘어지도록 변경
tjsdn052 Jan 8, 2026
f10278e
🎨 Style: 스타일 수정 및 피드백 적용
chamny20 Jan 8, 2026
bde2886
🌈 Update: 불필요한 주석 제거
chamny20 Jan 8, 2026
6550561
🤖 Refactor: 비디오 및 오디오 토글 로직 개선
chamny20 Jan 8, 2026
14339f7
Merge branch 'dev' into feature/#122/intro-room
chamny20 Jan 8, 2026
9676a9c
🔧 Rename: 하나의 페이지 통일로 인한 MeetingRoom으로 컴포넌트 내용 이동
chamny20 Jan 8, 2026
a03a60a
Merge pull request #168 from boostcampwm2025/feature/#122/intro-room
chamny20 Jan 8, 2026
588123b
✂️ Remove: 충돌 해결
tjsdn052 Jan 8, 2026
a0a1d23
🔨 Fix: 빌드 오류 수정
tjsdn052 Jan 8, 2026
844c3ba
Merge branch 'dev' into feature/#166/workspace-canvas
tjsdn052 Jan 8, 2026
fcfdda5
Merge pull request #172 from boostcampwm2025/feature/#166/workspace-c…
tjsdn052 Jan 8, 2026
d4a3183
📍 Feat: 워크 스페이스 버튼 클릭시 화이트 보드 렌더링
tjsdn052 Jan 8, 2026
3a0cc6f
🎨 Style: 참가자 및 패팅 모달 zindex 증가
tjsdn052 Jan 8, 2026
21fb6ca
🎨 Style: 드롭 다운 메뉴 z-index 100으로 증가
tjsdn052 Jan 8, 2026
cfe2986
📍 Feat: 텍스트 및 화살표 생성 훅으로 분리
tjsdn052 Jan 8, 2026
ed0f107
📍 Feat: 화살표 및 텍스트 생성 추가
tjsdn052 Jan 8, 2026
2c0917e
🎨 Style: 로딩 화면 및 whiteboard 에 깜박임 방지 위해 bg-neutral-100 추가
tjsdn052 Jan 8, 2026
addc4bd
🎨 Style: h-full w-full 추가
tjsdn052 Jan 8, 2026
0de185d
Merge pull request #179 from boostcampwm2025/feature/#112/whiteboard-…
tjsdn052 Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/check-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
run: |
echo "Base: ${{ github.base_ref }}"
echo "Head: ${{ github.head_ref }}"
if [ "${{ github.head_ref }}" != "develop" ]; then
echo "❌ develop에서 보낸 pr요청이 아닙니다."
if [ "${{ github.head_ref }}" != "dev" ]; then
echo "❌ dev에서 보낸 pr요청이 아닙니다."
exit 1
fi
echo "✅ develop branch 확인"
echo "✅ dev branch 확인"

1 change: 0 additions & 1 deletion .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,6 @@ jobs:

# docker compose 작동 확인
docker ps
docker restart gateway
echo "테스트 서버 배포 완료"

# e2e 테스트 진행
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,4 @@ jobs:

# 상태창 확인
docker ps

# 이유를 알 수 없지만 지금 NEXT - gateway에 연결 문제가 발생하고 있다.
docker restart gateway
echo "서버 배포 완료"
29 changes: 26 additions & 3 deletions deploy/https/nginx.backend.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,29 @@ http {
listen 80;
server_name _;

# 마찬가지로 실제 배포 환경에서도 sse 연결이 가능하도록 하는 것이 중요하다.
location ~ ^/api/cards/sse$ {
proxy_pass http://main_backend_app;

proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_buffering off;
proxy_cache off;
add_header X-Accel-Buffering no;

proxy_read_timeout 3600s;
proxy_send_timeout 3600s;

proxy_request_buffering off;
proxy_next_upstream off;
gzip off;
}

# 사실상 backend는 1.1이 가장 좋은것 같다 2는 설정도 복잡하고 큰 이득이 없을것으로 예상된다.
location / {
proxy_pass http://main_backend_app;
Expand All @@ -35,12 +58,12 @@ http {
proxy_set_header X-Forwarded-Proto $scheme;

# 아래는 다운로드 관련 설정들
client_max_body_size 500m;
client_max_body_size 10m;

# 연결 허용 시간 -> 나중에 변경
proxy_connect_timeout 5s;
proxy_send_timeout 10m;
proxy_read_timeout 10m;
proxy_send_timeout 1m;
proxy_read_timeout 1m;

# 에러 발생 시 다른 서버 찾기
proxy_next_upstream error timeout http_502 http_503 http_504;
Expand Down
58 changes: 45 additions & 13 deletions deploy/https/nginx.gateway.conf
Original file line number Diff line number Diff line change
Expand Up @@ -38,26 +38,58 @@ server {
root /var/www/certbot;
}

gzip on;
gzip_comp_level 5;
gzip_min_length 1024;
gzip_vary on;
gzip_types
text/plain text/css text/xml application/xml application/json
application/javascript text/javascript application/rss+xml
image/svg+xml;

# Docker에 dns 서버
resolver 127.0.0.11 ipv6=off;

# test와 마찬가지로 sse 연결에 대해서 설정을 해두는 것이 중요하다.
location ~ ^/api/cards/sse$ {
proxy_pass http://main_backend_app;

proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_buffering off;
proxy_cache off;
add_header X-Accel-Buffering no;

proxy_read_timeout 3600s;
proxy_send_timeout 3600s;

proxy_request_buffering off;
proxy_next_upstream off;
gzip off;
}

# backend로 연결
location /api/ {
set $be http://main-backend-nginx;
proxy_pass $be;
proxy_pass http://main-backend-nginx;

# gateway도 설정을 안하면 api가 기다리든 말든 끊어버리니 api gateway도 설정을 해주는 것이 중요하다. -> 나중에 업로드 api만 따로 변경
client_max_body_size 10m;
proxy_connect_timeout 5s;
proxy_send_timeout 1m;
proxy_read_timeout 1m;
}

# NEXT에 캐싱서버 -> NEXT는 기본적으로 압축하는 로직이 존재한다.
location /_next/static/ {
proxy_pass http://frontend:3000;
expires 1y;
add_header Cache-Control "public, immutable";
access_log off;
}

location / {
set $fe http://frontend:3000;
proxy_pass $fe;
proxy_pass http://frontend:3000;

# 연결 지연시간 설정
proxy_connect_timeout 3s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
}

}
37 changes: 33 additions & 4 deletions deploy/test/nginx.backend.conf
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,35 @@ http {
listen 80;
server_name _;

# sse를 사용하는 경우 버퍼링을 꺼주고 오래 연결이 가능하도록 해주어야 한다.
location ~ ^/api/cards/sse$ {
proxy_pass http://main_backend_app;

proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

# buffering 꺼주기 -> 실시간으로 바로 보낼 수 있도록 하기 위함이다.
proxy_buffering off;
proxy_cache off;
add_header X-Accel-Buffering no;

# 오랫동안 연결되도록 하기 1시간
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;

# 응답을 메모리/디스크에 쌓지 않고 바로 전달하도록 한다.
proxy_request_buffering off;

# 스트리밍에 경우 업스트림을 교체하지 않는다.
proxy_next_upstream off;

gzip off;
}

# http 1.1을 사용하는데 2는 고려 중이다. -> 현재로서는 일단 1.1 사용해야할 것 같다.
location / {
proxy_pass http://main_backend_app;
Expand All @@ -43,14 +72,14 @@ http {
# 큰 영상 업로드에 경우 따로 처리해주어야 한다. -> 우리 서비스에서는 필요
# 어디 크기까지 허용할지 정하는 것이다. -> 이 크기를 초과 하면 backend 서버까지 가지 않고 nginx에서 cut 한다. -> backend는 예외처리 안해도 되니까 편안
# 서버에 따라서 다르게 처리할 수 있다. 일단은 msa를 적용하지 않았기 때문에 이렇게만 처리
client_max_body_size 500m;
client_max_body_size 10m;

# proxy 연결을 기다리는 요소
# 위부터 연결까지 3초 보내는데 읽는데 각각 30s만 기다린다.
# 우리나라에 경우 500mb에 20mbps라는 가정하에 5분이 안걸리기는 하지만 10m정도로 잡아도 좋을듯 싶다.
# 우리나라에 경우 500mb에 20mbps라는 가정하에 5분이 안걸리기는 하지만 10m정도로 잡아도 좋을듯 싶다. -> s3로 파일을 보내기 때문에 이제 적게 잡아도 괜찮다.
proxy_connect_timeout 5s;
proxy_send_timeout 10m;
proxy_read_timeout 10m;
proxy_send_timeout 1m;
proxy_read_timeout 1m;

# time이 만약 넘어가면 다른 app으로 전달한다.
# 네트워크에러, 시간 초과, 502, 503, 504 에러가 발생하면 2번까지 다시 연결을 시도한다. -> load balancer를 사용할때 안정성을 위해서 설계
Expand Down
26 changes: 25 additions & 1 deletion deploy/test/nginx.gateway.conf
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,35 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

# sse를 위한 수정 - gateway도 수정해 줘야 백엔드에서 받을 수 있다. ( 백엔드 쪽이 살아있어도 gateway가 죽으면 의미가 없기에 )
location ~ ^/api/cards/sse$ {
proxy_pass http://main-backend-nginx;

proxy_http_version 1.1;
proxy_set_header Connection "";

proxy_buffering off;
proxy_cache off;
add_header X-Accel-Buffering no;

proxy_read_timeout 3600s;
proxy_send_timeout 3600s;

proxy_request_buffering off;
gzip off;

}

# backend 프록시 전달
location /api/ {
# $be를 세팅하고 이걸 배정함
# Dns 탐색
proxy_pass http://main-backend-nginx;

client_max_body_size 10m;
proxy_connect_timeout 5s;
proxy_send_timeout 1m;
proxy_read_timeout 1m;

}

# NEXT용 static caching
Expand Down
74 changes: 74 additions & 0 deletions frontend/next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,80 @@ const nextConfig: NextConfig = {
},
],
},

turbopack: {
rules: {
'*.svg': {
loaders: [
{
loader: '@svgr/webpack',
options: {
icon: true,
replaceAttrValues: {
black: 'currentColor',
'#000': 'currentColor',
'#000000': 'currentColor',
},
},
},
],
as: '*.js',
},
},
},

webpack(config) {
// 기존의 모든 SVG 관련 rule을 찾아서 가져옵니다.
// @ts-expect-error: webpack rule type error
const fileLoaderRule = config.module.rules.find((rule) =>
rule.test?.test?.('.svg'),
);

config.module.rules.push(
// 1. ?.url이 붙은 SVG는 기존처럼 리소스로 처리합니다. (예: url('./icon.svg?url'))
{
...fileLoaderRule,
test: /\.svg$/i,
resourceQuery: /url/,
},
// 2. 그 외의 모든 SVG는 SVGR을 통해 React 컴포넌트로 변환합니다.
{
test: /\.svg$/i,
issuer: fileLoaderRule.issuer,
resourceQuery: {
not: [...(fileLoaderRule.resourceQuery?.not || []), /url/],
},
use: [
{
loader: '@svgr/webpack',
options: {
// 위와 동일한 설정 적용
icon: true,
replaceAttrValues: {
black: 'currentColor',
'#000': 'currentColor',
'#000000': 'currentColor',
},
// 필요하다면 아래 설정을 통해 viewBox 외의 width/height를 아예 제거할 수도 있습니다.
svgoConfig: {
plugins: [
{
name: 'removeViewBox',
active: false,
},
],
},
},
},
],
},
);

// 기존의 기본 SVG rule이 SVGR과 충돌하지 않도록 수정합니다.
fileLoaderRule.exclude = /\.svg$/i;

return config;
},
};

export default nextConfig;
Loading