-
Notifications
You must be signed in to change notification settings - Fork 0
1️⃣ [11.07] Week1 Day1 회의록
Hyunbin Lee edited this page Nov 10, 2022
·
1 revision
— 기능을 진짜 명확하게 해서 우선순위까지
- 기획서
- MVP 기능 분류
- 백로그
- 프로그램 버전 별 기능 분류
알고리즘을 공부하거나 코딩테스트를 준비하는 사람들이 더 재밌게 즐길수 있도록 하기 위해
혼자하면 집중이 안된다
재미가 없다.
게임적인 요소
1:1 경쟁
레이팅 시스템
1:1 알고리즘 배틀!
- 깃허브 연동
- OAuth
- 팔로워 연동 볼 수 있는 기능
- 문제 풀이
- 코드 에디터
- 웹 컴파일러
- 온라인 저지
- 1:1 게임
- 상호작용 ( 이모티콘, 화상 비디오, 상대방 점수, 감정 표현 등 )
- 시간 제한이 있는 대결
- 서버에서 타이머 제공
- 결과 페이지, 전적 보기, 랭킹
- 매치메이킹
- 레이팅 시스템
- ELO 적용
- 등급 시스템
- 링크 공유를 통한 매치 초대
- 레이팅 시스템
-
매치메이킹으로 구현
- 큐 돌리기
- ELO 계산
-
호스트 룸 형식으로 구현
- dp 초보만
- 파이썬 1대1 초보만
- 맵을 고를 수 있는 것처럼 문제 유형을 고를 수 있게 함
-
깃허브 팔로우 연동
*고민들
— 소켓 상태 관리
- 어느 시점에 소켓을 연결하고 끊어야 하는지
- 매치 메이킹 소켓과 상대방을 찾았을 때 소켓을 새로 연결할 지
- 아니면 하나의 글로벌 소켓에서 계속 연결하고 있을지
— 서버에서 소켓 정보 관리
- Redis
— 큐 돌리면 사람들 매칭 어떤 방식으로 시킬 것인지
- 문제를 넘겨주는 방식
- 백준식
- 프로그래머스식
- 엄준식
— 소켓 유저 식별
- 통신할 때마다 넘겨주기
- 유저 IP
- 에디터 크기 조절
- 결과창에서 상대방 깃허브 팔로우할 수 있는 버튼
- 깃허브 팔로우 중에서 가입 안 한 사람 초대 기능 (서비스 초대 기능0
- 매칭초대 ( 링크로 / 팔로워들이랑 )
- 매치메이킹 사운드
- 매치메이킹 완료 시 크롬 푸쉬 알림 ( 우하단 )
- 감정표현
- 상점 ( 테마 / 감정표현 구매 )
- 점수 표현 인터랙션 ( 다이나믹 아일랜드 )
- 문제가 겹칠 때 해결 방법 (e.g. 문제를 더 많이 넣는다 )
- 상대방이 문제를 먼저 풀었을 때 계속 풀 수 있는 기능 ( 계속 풀기 → 점수 계산 → 결과 페이지 )
- 문제 ID 나 문제 제목을 표시하지 않도록 함
- 전적보기 통계 기능
- 칭호
- 깃허브 Export 뱃지
- 깃허브 연동
- OAuth
- 문제 풀이
- 코드 에디터
- 웹 컴파일러
- 온라인 저지
- 1:1 게임
- 상대방 점수 표시
- 시간 제한이 있는 대결
- 서버에서 타이머 제공
- 매치메이킹
- 레이팅 시스템
- ELO 적용
- 레이팅 시스템
— CI / CD 구축 : 5일
— 깃허브 로그인 ( OAuth ) : 1~3일
- 하지말아야할것 : 쿠키 못 씀 ( 소켓 이슈 )
— 코드 에디터 : 에디터에서 데이터를 넘겨줌 : CodeMirror 5일
— 웹 컴파일러 : 에디터에서 받은 데이터를 받아서 결과를 돌려줌
— 온라인 저지 ( Python )
- 하지말아야할것 : 많은 언어를 지원하지 않음
— 프론트엔드에서 게임 페이지 구현 : 소켓 통신으로 상호작용
— 매칭 시스템
- 큐에서 사용자 매칭
- ELO 계산
— 매치메이킹 필요한 페이지 작업 ( 프론트 )
— 1:1 상호작용 ( 소켓 )
— 사용자 피드백 반영
— 버그 수정
— 테스트 코드를 테스트
- 기능들이 아직도 벌크한 느낌 → 조금 더 논의가 필요함
- 기획에 대한 부분을 추가적으로 진행하기 전에 상대적으로 결정하기 쉬운 코딩 컨벤션에 대해서 정하기로 함
- 프로그램 이용자나 목적 등 대전제에 대한 논의를 진행하기로 함
© 2022 부스트캠프로5행시해보겠습니다