Releases: boostcampwm-2024/refactor-web30-stop-troublepainter
Releases · boostcampwm-2024/refactor-web30-stop-troublepainter
v1.1.0
🔧 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
🚀 New Features
인프라 구축
- Docker 환경을 설정해 일관된 개발 환경을 구축했습니다.
- 모노레포 구조를 구성하여 CRDT 로직과 타입 정의를 공통 패키지로 분리해 프론트엔드와 백엔드에서 공유하도록 했습니다. (#91)
- 코드 품질 유지를 위해 Lint와 Prettier를 설정했습니다. (#165)
UI/UX 퍼블리싱
- 시작 페이지, 대기실/게임/결과 페이지를 포함한 주요 화면을 제공합니다. (#46, #82, #69, #191)
- 게임 상태에 따라 혹은 도움말 버튼 클릭 시 해당 모달이 화면에 나타납니다. (#34, #144, #199)
그림판 기능
- 마우스 & 터치로 그림판에 그림을 그릴 수 있습니다. (#33)
- 사용자가 드로잉할 때마다 잉크량이 감소하여 사용량이 제한됩니다.
- 페인트 툴 도구로 닫힌 영역 내에 남은 잉크 잔여량만큼 색을 채울 수 있습니다. (#41)
- Undo & Redo 기능으로 그림판 위에서 로컬 사용자의 선만 삭제하고, 복구할 수 있습니다. (#117)
실시간 협업 기능
- CRDT를 활용해 실시간 드로잉 환경에서 발생할 수 있는 충돌 병합 드로잉 시스템을 구축했습니다. (#190)
- 캔버스 내 드로잉의 클라이언트 간 동기화 정확도를 검증하기 위한 테스트 시스템을 도입했습니다.
- 웹소켓을 통한 실시간 CRDT 데이터 전송 기능을 구현하여 원활한 멀티플레이어 환경을 제공합니다. (#108)
게임 시스템
- 실시간 멀티플레이어 게임의 핵심이 되는 게임 시스템을 구축했습니다.
- Socket.IO를 기반으로 한 실시간 통신으로 여러 플레이어가 함께 즐길 수 있는 환경을 제공합니다.
문서화
- JSDoc을 작성해 핵심 유틸리티와 훅에 대한 TypeDoc 문서화를 제공합니다.
- UI 컴포넌트를 위한 Storybook 문서화를 제공합니다. (#44)