Skip to content

v1.0.0

Compare
Choose a tag to compare
@kwaksj329 kwaksj329 released this 17 Jan 04:52
· 49 commits to main since this release

🚀 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)