Releases: boostcampwm-2021/web24-boostris
Releases · boostcampwm-2021/web24-boostris
v.0.5.0
v.0.4.2
v.0.4.1
v.0.4.0
v.0.3.0
-
소켓 서버 리팩토링
- socket.io namespace를 /로 수정
- socket.ts 내용을 lobbyUserSocket.ts와 tetrisSocket.ts로 분리
- 공통된 type들 socketType.ts로 분리
- lobbyUserSocket.ts에서 자주 사용되는 함수 userUtil.ts로 분리
- roomList를 constant로 분리하여 관리
-
게임방
- 리팩토링
- 사용되지 않는 파일, 주석, console.log 삭제
- Tetris의 index.tsx, style.scss 삭제
- 불필요한 코드 삭제
- 수정
- 게임 진행 중 새로고침하면 엔딩이 안되던 버그 수정
- 새로 고침 시 재입장 안되던 버그 수정
- 다른 플레이어 화면에 생기던 버그 수정
- 게임방 입장한 플레이어 이름 표시 및 버그 수정
- 구현
- 게임 종료 시 게임 결과 모달 구현
- 새 인원 입장 시 채팅장에 표시 구현
- 게임방 입장 시 게임이 실행중인 경우 게임시작 버튼 비활성화
- 리팩토링
-
로비
- 사용자 목록 가상 스크롤 적용
- 친구 요청 / 수락 시나리오 완료
- 친구 목록 표시 및 업데이트 시나리오
- sql 단에서의 오류 관련 에러 처리 및 버그 분석
- 바로 입장 기능 추가
-
로그인 구현 & 회원 가입
- 기존 코드 리팩토링 일부 진행 및 버그 분석
-
프로필
- 미니 프로필 모달 구현
- DB 수정에 따른, API 쿼리 분리 및 수정
- 닉네임 변경 기능 추가
- 다른 유저의 프로필을 볼 수 있도록 기능을 수정
- 프로필 모달을 기존에 있던 모달과 합치는 리팩토링을 수행함
-
랭킹
- 랭킹 코드 리팩토링
- 기존 이름 수정. rank -> ranking으로 이름 수정
- fetch 함수 별도 파일로 분리
- 왼쪽 프로필 컴포넌트 분리
- width: 100% 속성값 부여. 버튼은 min-width로 대처
- 랭킹 코드 리팩토링
-
친구
- 친구 요청 받을 시, 친구 요청 테이블에 넣기
- 친구 요청 수락, 거절 + 수락햇을때 실제 친구 데이터베이스에 넣기
- 나한테 들어온 친구 요청 목록 가져오기
- 내 친구 목록 가져오기
v.0.2.0
-
테트리스 멀티 플레이 구현
-
방 입장 시
- 게임 방에 다른 플레이어 canvas 추가
- 다른 플레이어가 게임방 입장 시 이미 입장해 있던 플레이어들에게 입장한 플레이어의 정보 전송 (소켓)
- 다른 플레이어 입장 시 이미 입장해있던 플레이어들 정보 전송 (소켓)
- 다른 플레이어가 추가 되면 추가되는 순서대로 각 canvas 할당
- 한 플레이어 보드의 블록이 떨어질때마다 다른 플레이어에게 떨어지고 있는
- 블록 정보 전송 (소켓)
- 다른 플레이어의 블록 정보를 전송 받아 다른 플레이어의 canvas에 그리기
-
멀티 플레이 시작 시
- 게임 시작 정보 전송
- 블록이 떨어지는 정보 전송
- 보드 정보 전송
- 공격 정보 전송
- 공격 상대 결정 구현
- 게임 오버 전송
- 공격 블록의 생성 구현
- 공격 블록에 대한 제거 루트 제공
- 복수의 공격이 누적되어 나타난 공격 블록의 경우 구현
- 줄 완성에 따른 공격 이벤트 연결
- 자신의 보드 이미지 대신 캔버스로 그리게 수정
- 자신이 공격을 받은 경우, 자신의 보드 옆에 공격 받은 블록 수 만큼 칸 표시
- 다른 플레이어가 공격 받은 경우, 소켓으로 공격 받은 정보를 주고 받아 해당 플레이어의 보드에 공격 받은 블록 수 만큼 칸 표시
-
테트리스 버그 수정 및 구현 수정
- 블록을 심하게 움직일 경우 오류 발생 수정
- 게임 오버된 플레이어에게 공격 블록이 전달되던 현상 수정
- 다른 플레이어의 보드 이미지 대신 캔버스로 그리게 수정
- 테트리스 블록 조작감 개선
-
-
로비
- 접속자 목록 리스트 관리 및 소켓 정리
- 방 생성 / 접속 관련 로직 정리
- 친구 추가 위한 UI 작업 진행
- 채팅 기능 완성
- 테트리스 게임 내 멀티플레이 코드와 병합 진행
- 개발 환경 시 multi proxy 설정
-
로그인 구현 & 회원 가입
- 기존 코드 리팩토링 일부 진행 및 버그 분석
-
프로필
- 프로필 페이지 UI 구현
- 통계 기록을 가져오는 API를 작성함.
- 최근 경기 내역을 가져오는 API를 작성함.
- 상태메세지 수정 기능을 추가함.
-
랭킹
- 랭킹 페이지 UI 작업
- 등수, 아이디 등 정보 데이터 Api 코드 작성
- 조건에 맞는 랭킹 가져오는 쿼리 작성
- 분류, 모드 별 버튼 활성화
- 분류, 모드 버튼 누를 때 마다 fetch 요청
- 왼쪽 프로필 정보 보이기, 플레이어 닉네임 입력 후 검색 가능
- 스토어에서 유저 닉네임 정보를 가지고 fetch 요청. db 쿼리로 승리횟수와 공격횟수 받아온 후 랜더링
- 플레이어 닉네임 입력 후 검색 누르면 아래 표에 자신 밑으로의 사람들 랭킹 정보를 받아옴.
-
배포
- 소켓 사용을 위한 추가적인 nginx 설정 진행
-
디자인
- 전체적인 디자인 수정
-
데이터 베이스
- 스키마 변경사항 DB 서버에 적용 (필드명이 예약)