Skip to content

5️⃣ [12.05] Week5 Day1 스프린트 계획

Hyunbin Lee edited this page Dec 5, 2022 · 1 revision

1. 요일별 계획

  • 월요일 / 화요일

    • 문서 저장 + 백엔드 레디스 설정
    • 에디터 커서
    • 로그인 구현
    • 기타 컴포넌트 구현
  • 수요일

    • CRDT 오류 수정 ( 총력전 ) → 버그 없어야 함
      • 예측 범위 안에 있는 버그 이외에는 발생하면 안됨
  • 목요일

    • Dropdown 필터 컴포넌트 구현
    • 범용 Modal 컴포넌트 구현
    • 프로젝트 소개 페이지 보강

2. 백로그 수정 내역

  • 추가
    • 새로운 클라이언트가 접속하면 다른 클라이언트의 CRDT를 소켓 이벤트로 보낸다
    • 에디터 내용이 바뀔 경우 저장 요청을 디바운싱한다.
    • Suspense 의 fallback UI
    • ErrorHandle 컴포넌트
    • 404 Not Found Page
    • 503 Error Page
  • 변경
    • 서버에서 클라이언트를 '저장 담당자' 로 지정하고 해당 클라이언트에 소켓으로 알려준다

    • 클라이언트가 저장 담당자로 설정되면, 저장 담당자 상태 값을 true로 변경한다.

    • 클라이언트는 5초마다 저장 담당자인지 검사해서, 저장 담당자인 경우 API 서버에 원본 데이터를 보낸다.

      ⇒ 에디터 내용이 5초동안 변하지 않는다면 저장 요청을 보낸다.

    • API 서버에서 저장 담당자가 보낸 문서 데이터를 받아 Redis에 저장한다.

      ⇒ API 서버에서 사용자가 보낸 문서 데이터를 받아 Redis에 저장한다.

3. 데모 시나리오 (진짜 진짜임)

  1. 사용자는 랜딩 페이지에서 깃허브 OAuth로 로그인할 수 있다.
  2. 로그인된 사용자는 메인 페이지에서 최근 방문한 문서 목록을 확인할 수 있다.
  3. 문서 목록에서 문서를 클릭하면 해당 문서 페이지 URL로 이동하고 저장된 내용을 확인할 수 있다.
  4. 문서 페이지에서는 다른 사람들과 실시간 공동 문서 편집을 할 수 있다.
  5. 다른 사람들에게 문서 URL을 공유할 수 있다.
  6. 문서를 접속한 사람은 최근 방문한 문서 목록에서 해당 문서를 확인할 수 있다.
Clone this wiki locally