Skip to content

Releases: boostcampwm-2024/refactor-web30-stop-troublepainter

v1.1.0

17 Jan 05:51
4b458c4
Compare
Choose a tag to compare

🔧 Improvements

Prometheus 기반 메트릭 수집 기능 추가

  • 애플리케이션의 성능과 상태를 모니터링하기 위해 Prometheus를 기반으로 한 메트릭 수집 기능을 추가했습니다. (#3)

테스트용 소켓 이벤트 test:joinRoom 추가

  • 테스트 시, playerId를 지정하여 방에 입장할 수 없던 문제를 해결하기 위해 테스트용 이벤트를 추가했습니다. (#14)

FCP, LCP 지표 최적화

  • 이미지 최적화, 오디오 지연 로드, 주요 페이지 번들 분리로 초기 로딩 성능을 개선하고 LCP 성능을 개선했습니다. (#8)

    Metric Platform Before After Improvement
    FCP 데스크탑 0.8s 0.4s 50%
    모바일 3.4s 1.7s 50%
    LCP 데스크탑 3.4s 0.7s 79.4%
    모바일 22.9s 3.3s 85.6%

📝 Full Changelog

Full Changelog: v1.0.0...v1.1.0

v1.0.0

17 Jan 04:52
Compare
Choose a tag to compare

🚀 New Features

인프라 구축

  • Docker 환경을 설정해 일관된 개발 환경을 구축했습니다.
  • 모노레포 구조를 구성하여 CRDT 로직과 타입 정의를 공통 패키지로 분리해 프론트엔드와 백엔드에서 공유하도록 했습니다. (#91)
  • 코드 품질 유지를 위해 Lint와 Prettier를 설정했습니다. (#165)

UI/UX 퍼블리싱

  • 시작 페이지, 대기실/게임/결과 페이지를 포함한 주요 화면을 제공합니다. (#46, #82, #69, #191)
  • 게임 상태에 따라 혹은 도움말 버튼 클릭 시 해당 모달이 화면에 나타납니다. (#34, #144, #199)

그림판 기능

  • 마우스 & 터치로 그림판에 그림을 그릴 수 있습니다. (#33)
  • 사용자가 드로잉할 때마다 잉크량이 감소하여 사용량이 제한됩니다.
  • 페인트 툴 도구로 닫힌 영역 내에 남은 잉크 잔여량만큼 색을 채울 수 있습니다. (#41)
  • Undo & Redo 기능으로 그림판 위에서 로컬 사용자의 선만 삭제하고, 복구할 수 있습니다. (#117)

실시간 협업 기능

  • CRDT를 활용해 실시간 드로잉 환경에서 발생할 수 있는 충돌 병합 드로잉 시스템을 구축했습니다. (#190)
  • 캔버스 내 드로잉의 클라이언트 간 동기화 정확도를 검증하기 위한 테스트 시스템을 도입했습니다.
    • 유닛 테스트 (#201)
    • 브라우저 환경 테스트 (#204)
  • 웹소켓을 통한 실시간 CRDT 데이터 전송 기능을 구현하여 원활한 멀티플레이어 환경을 제공합니다. (#108)

게임 시스템

  • 실시간 멀티플레이어 게임의 핵심이 되는 게임 시스템을 구축했습니다.
  • Socket.IO를 기반으로 한 실시간 통신으로 여러 플레이어가 함께 즐길 수 있는 환경을 제공합니다.
    • 클라이언트 웹소켓 연결 (#85, #88)
    • 서버 웹소켓 구현 (#80)

문서화

  • JSDoc을 작성해 핵심 유틸리티와 훅에 대한 TypeDoc 문서화를 제공합니다.
  • UI 컴포넌트를 위한 Storybook 문서화를 제공합니다. (#44)