API 설계
도메인 분석
사용 시나리오 in Figma
- 많은 동시접속자를 소화해야 한다 (1000명 이상, 아직 정확한 바는 없음)
- 이를 위해 스케일 아웃을 할 가능성이 아주 높다
- 따라서 서버 간 인증 정보 동기화에 대한 비용을 줄이고자 JWT를 채택한다
- 임시 사용자를 생성한다.
- 이름, 그룹이름으로 사용자를 생성한다.
- 이름을 수정한다.
- 그룹을 수정한다.
- 닉네임으로 사용자를 생성한다.
- 임시 사용자를 생성한다.
- 이름을 수정한다.
- 그룹을 수정한다.
- 자신의 정보를 알 수 있다.
- 특정 이름으로 시작하는 그룹 이름을 검색한다
- 특정 이름으로 시작하는 사용자 이름을 검색한다
- 게임
- 10*18 사이즈의 게임판을 생성한다.
- 초기화한다
- 게임판을 재생성한다.
- 게임 시간을 초기화한다.
- 점수를 초기화한다
- 특정 범위의 사과들을 제거한다
- 생성된지 120초가 지나면 더 이상 조작할 수 없다.
- 게임 주인인지 알 수 있다
- 게임판
- 원하는 크기의 게임판을 랜덤 생성한다.
- 특정 범위의 사과들을 제거한다
- 범위가 게임판과 일치하는지 검증한다
- 사과 좌표들에 사과가 없으면 예외
- 사과 좌표들 외에 사과가 있으면 예외
- 사과들의 합이 10이어야 제거할 수 있다
- 제거된 개수를 반환한다
- 범위
- 좌상단을 알 수 있다
- 우하단을 알 수 있다
- 범위 내의 모든 좌표들을 알 수 있다
- 사과 좌표들을 알 수 있다
- 빈 좌표들을 알 수 있다
- 좌표
- 사과
- 숫자는 1~9 사이이다.
- 랜덤 숫자로 생성할 수 있다.
- 빈 사과인지 알 수 있다
About
스낵게임 서버 어플리케이션. 게임 검증과 리더보드, 회원 관리 서비스를 담당합니다
Languages
Language:Java 97.1%Language:Kotlin 2.9%