요구사항 정의서에 정의된 고객의 요구사항을 개발자의 입장에서 기능으로 정리하는 부분입니다. 요구사항 정의서에 작성되어 있지 않더라도, 시스템을 운영하기 위해 필요한 기능들에 대해서도 작성해야 합니다.
기능 명세
상세 기능 명세
메인 페이지
-
응원하기 기능
- 응원
- 파티 단위가 아닌 전체 단위
- 축구 경기 (ex) 빅 클럽의 경기, 국가대표 경기)의 결과를 예측
- 쿠팡플레이에서 표시하는 예측 기능과 동일한 형태
- 응원기능이 생성될 리그는 쿠팡 플레이에서 사용하는 리그 정보와 동일한 정보 사용
- 경기 Home 구단, Away 구단 이름을 버튼에 표시하고, 버튼 클릭 시 해당 구단에 응원 카운트를 추가시킴
- 한 사용자는 게시된 응원에 대해 1회만 투표 가능
- 경기 시작 24시 전부터 경기가 종료되기 전까지 진행
- 메인페이지 상단에 슬라이드 형식으로 해당 경기를 모두 띄움.
- 결과 확인
- 경기 결과를 외부 API를 통해 확인
- 참여한 사용자들에게 예측 결과 알림을 보냄.
- 현재까지 집계된 응원 카운트를 비율로 바로 표시
- ex) 전북 현대 7, 인천 유나이티드 3 ⇒ 70%, 30%
포인트 지급
결과에 따라 유저에게 포인트를 지급한다.
어떤 방법으로 얼마나 줄지 회의
- 승부예측 생명주기
슬라이더 형식으로 해당 경기의 예측 모두 게시
경기 진행되기 24시간 전부터 시작하기 전까지 예측 가능
경기가 끝날 때까지 사람들의 예측 합계를 나타내고 예측 불가능
- 경기 결과를 얻으면 승/패 나타내고 종료 후 24시간 동안 게시
-
파티 목록 조회 기능
- 조회
- 메인페이지에서 현재 생성된 파티의 목록을 조회 가능.
- 제공되는 파티 정보
- 현재 접속중인 사용자의 수
- 경기하는 구단
- 파티 제목 등
- 검색
- 파티 목록 조회 컴포넌트 상단에 검색창을 제공한다.
- 방 이름을 검색할 수 있다.
-
랭킹 기능
- 포인트가 가장 높은 순서대로 랭킹 순위를 매긴다.
- Top10의 점수와 닉네임을 보여준다.
-
경기 일정 목록 조회 기능
- 진행 예정인 경기 일정 정보를 조회 가능하다.
- 경기를 나타내는 방식
- 가장 가까운 경기가 앞으로 온다.
- 종료된 경기는 표시하지 않는다.
- 진행중인 경기는 나타낸다.
- 구현 방법
- 스케쥴러로 일정시간마다 업데이트 ex) 20분
- DB에 저장된 경기정보 중 종료시간이 현재 시간보다 늦은 것을 시작시간으로 정렬해서 불러온다.
그룹
- 그룹 목록 조회
- 내가 속한 그룹의 목록을 조회할 수 있다.
- 그룹 상세 조회
- 내가 속한 그룹의 상세 내용을 조회할 수 있다.
- 그룹 생성
- 그룹명을 입력한다.
- 그룹 수정
- 그룹명을 수정할 수 있다.
- 그룹 구성원 초대
- 그룹 생성 후 초대 url을 발급, 복사할 수 있다.
- 초대 url은 7일간 유효하며, 재발급 받을 수 있다.
- 초대 url을 공유받은 사람이 url을 입력하여, 수락 여부를 선택한 후 그룹에 소속될 수 있다.
- 그룹 내 최대인원(우선 6명)을 초과하면, 그룹에 초대되지 않는다.
- 유효하지 않은 초대 url이면, 그룹에 초대되지 않는다.
- 그룹 나가기
- 그룹 구성원은 그룹을 나갈 수 있다.
- 그룹장이 그룹을 나가는 경우, 그룹장을 맡을 구성원을 선택한다.
- 그룹 구성원 강퇴
- 그룹을 최초로 만든 사람이 그룹장이 되며, 그룹에서 내보낼 구성원을 선택할 수 있다.