-
Notifications
You must be signed in to change notification settings - Fork 3
4️⃣ 4주차 발표 준비
Todo In progress Done
황준일 마스터님 피드백
- 리드미에 전체 시스템 아키텍쳐 필요
- 어플리케이션에서 초기 진입시에 똑같은 API 요청을 24번을 하는 중..
- 서버 비용 많이 발생할뻔한 경험 공유해보기
- 동시접속 이벤트 한 번 해보기 ㅋㅋ
Ocotocs 사이트 내 피드백
- 더블클릭하면 문서 작성할수 있으면 좋겠어요
- 보드랑, 문서노드에 마우스 포인터가 달랐으면 좋겠어요.
- 연결같은거 하다보면 복잡해짐 -> 정렬, 가까운 엣지로 연결
- 노드 정렬 기능 같은거는 없나요?
- 스크린 높이를 작게 한 상태에서 왼쪽 아래 버튼들로 커서를 옮기면 왼쪽 사이드바가 나타나면서 버튼 UI를 가려버려용
- 에디터 전체 화면이 안됩니다!
- 노드 연결할 구멍?? 그게 작아서 클릭이 살짝 힘듭니다
- 모든 사용자가 문서를 편집할 수 있는거 같은데 혹시 그룹화 기능을 통해 그룹에 속한 사용자만 편집 혹은 조회가 가능 하도록 하는 기능은 혹시 어떻게 생각하시나용
- 그룹화된 서로 같은 노드는 색깔로 분류하거나 하는 기능도 나중에 추가되나요?
- 현재 선택된 노드가 뭔지 알아보기 힘들어요!!
- Delete 버튼 이벤트로 삭제는 어떻게 생각하시나요?
- 다음 발표 자료는 옥토독스로 준비 해주시나요?
문제
- Y.Doc에 초기값을 넣어줄 때, 하나 하나 add 이벤트로 감지해서 쿼리를 invalidate.
해결
- 초기값을 설정해주는 중인지 판별해서 맞다면 이벤트를 감지하지 않게 수정.
문제
- 엣지간 연결, 노드의 배치가 너무 자유로워서 보기 불편해진 문제.
해결
- 가장 가까운 엣지에 연결되게 수정.
- 노드 정렬 기능 추가.
문제
- 계속해서 변경되는 타입에 대해 빠른 대응이 어려움.
- 환경 변수 파일 관리의 문제.
해결
- turbo를 사용한 Mono Repo 구조로 변경.
- 일차적으로 React 빌드 후, nestJS를 통해 서빙.
문제
- 사용자끼리만 동시성 문제가 해결, DB 저장은 RESTful하게 동작해서 충돌 문제에 노출.
해결
- YJS (CRDT)를 사용한 동시성 문제 해결 후, 해결된 값의 변화를 관측해서 DB에 저장하게 웹소켓 서버 수정.
문제
- 너무 잦게 발생하는 정보 업데이트 이벤트로 인한 DB 접근 증가, 서버의 부하 증가.
해결
- 내부 캐시 구현, 디바운싱 적용 및 필요한 이벤트에 대해서만 DB 업데이트.
- 서버 부하의 문제를 해결하기 위해 Redis (Y-Redis) 적용 예정.
- 워크스페이스 기능 도입을 위한 인증/인가
- oAuth 로그인 (네이버, 카카오) 구현 (https://github.com/boostcampwm-2024/web15-OctoDocs/pull/220).
- JWT 인증, 인가 구현 (https://github.com/boostcampwm-2024/web15-OctoDocs/pull/252).
- 접근/편집 권한 관리 구현 필요.
- 이미지 업로드 API (https://github.com/boostcampwm-2024/web15-OctoDocs/pull/197)
- 에디터에서 사용.
- Object Storage에 파일 업로드 후 주소 반환.
⚓️ 사용자 피드백과 버그 기록
👷🏻 기술적 도전
📖 위키와 학습정리
✏️ 에디터
Novel이란?
Novel 스타일링 문제
에디터 저장 및 고려 사항들
📠 실시간 협업, 통신
Yorkie와 Novel editor 연동
YJS, Websocket, React-Flow
YJS, Socket.io
WebSocket과 Socket.io에 대해 간단히 알아보기
YJS 가이드 근데 이제 Socket.io를 곁들인
🏗️ 인프라와 CI/CD
NCloud CI CD 구축
BE 개발 스택과 기술적 고민
private key로 원격 서버 접근
nCloud 서버, VPC 만들고 설정
monorepo로 변경
⌛ 캐시, 최적화
rabbit mq 사용법
🔑 인증, 인가, 보안
passport로 oAuth 로그인 회원가입 구현
FE 로그인 기능 구현
JWT로 인증 인가 구현
JWT 쿠키로 사용하기
refresh token 보완하기
🧸 팀원 소개
⛺️ 그라운드 룰
🍞 커밋 컨벤션
🧈 이슈, PR 컨벤션
🥞 브랜치 전략
🌤️ 데일리 스크럼
📑 회의록
1️⃣ 1주차
킥오프(10/25)
2일차(10/29)
3일차(10/30)
4일차(10/31)
2️⃣ 2주차
8일차(11/04)
9일차(11/05)
11일차(11/07)
13일차(11/09)
3️⃣ 3주차
3주차 주간계획(11/11)
16일차(11/12)
18일차(11/14)
4️⃣ 4주차
4주차 주간계획(11/18)
23일차(11/19)
24일차(11/20)
25일차(11/21)
5️⃣ 5주차
5주차 주간계획(11/25)
29일차(11/25)
32일차(11/28)
34일차(11/30)
6️⃣ 6주차
6주차 주간계획(12/2)
37일차(12/3)