HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🍒
[팀10] CherryBoys❤️
/
🍒
요구사항 명세
🍒

요구사항 명세

Status
설계
Assign
 
메인, 로그인, 회원가입, 매칭, 용병, 팀페이지, 개인페이지, (설정)
요구사항 명세
도메인
페이지
기능명
요구사항 상세
우선순위
권한
회원가입
회원 가입 페이지
회원 가입
- 닉네임의 중복 조회가 가능해야 한다. - 이메일의 중복 조회가 가능해야 한다. - 인증이 필요한 경우 인증 버튼을 클릭했을때 인증이 가능해야 한다. - 비밀번호와 비밀번호 확인의 값이 같은지 확인해야 한다. - 드랍박스를 통해 성별을 고를 수 있어야 한다. - 드랍박스를 통해 연령대를 고를 수 있어야 한다. - 드랍박스를 통해 주종목을 고를 수 있어야 한다. (종목은 1개만)
상
비회원
로그인
로그인 페이지
로그인
- 이메일과 비밀번호를 입력할 수 있어야 한다. - 로그인 버튼을 클릭했을때 이메일과 비밀번호가 DB에 존재하는지 검증해야 한다. - 만약 검증이 실패하는 경우 존재하지 않는 계정이라는 것을 사용자에게 알려주어야 한다. - 로그인이 성공한 경우 메인페이지로 넘겨주어야 한다.
상
비회원
회원가입 페이지로 이동
- 회원가입 클릭시 회원가입 페이지로 넘겨줘야 한다.
중
비회원
ID/PW 찾기 페이지로 이동
- ID/PW 찾기 클릭시 ID/PW 관련 모달 or 페이지로 넘겨주어야 한다.
하
비회원
팀
팀 생성 페이지
팀 생성
- 팀 로고를 추가할 수 있다. - 팀 몀을 입력할 수 있습니다. ( 생성이후 수정 불가능) - 팀에 대한 세부 정보를 입력할 수 있다. - 팀의 주요 종목을 드랍박스를 통해 결정할 수 있다. - 팀의 연령대를 드랍박스를 통해 결정할 수있다.
상
회원
팀 페이지
팀 상세 조회
- 팀 명과 세부 설명이 볼 수 있다. - 팀에 대한 정보( 총 경기수, 매너온도, 주장, 주요종목, 연령대, 생성일자) 를 볼 수 있다. - 팀에 속한 팀원과 용병을 확인할 수 있다. - 팀 페이지에서 최근 3경기 내용을 확인할 수 있다. ( 팀 세부 정보를 주는 API와 별개 ) - 팀이 얻은 태그가 최대 3개 노출된다. - 태그 정보는 프론트가 가지고 있다 (백엔드에서 데이터 처리를 위해 명칭의 통일이 필요)
상
팀원
팀 탈퇴
- 개인(회원, 부팀장, 용병)은 팀 페이지에서 탈퇴 버튼을 통해 탈퇴 할 수 있다. - 팀장은 탈퇴버튼이 나타나지 않는다 ( 대신 팀해체 버튼이 활성화된다) - 탈퇴 버튼 클릭 시 탈퇴를 확인하는 절차를 거쳐 탈퇴가 진행된다.
중
팀원
팀 해체
- 팀장은 팀을 해체할 수 있습니다. - 해체 버튼을 클릭시 모달창에서 팀 이름 작성을 통해 팀 해체가 가능하다.
중
주장
팀 정보 수정
- 팀 로고를 변경할 수 있다. - 팀의 연령대를 드랍박스을 통해 변경할 수있다. - 팀에 대한 세부 정보를 변경할 수 있다.
중
부주장
팀원 목록 페이지
팀원 목록 조회
- 팀원 목록을 볼 수 있다 - 등급순(팀장, 부팀장, 회원, 용병)으로 정렬한다(프론트단에서)
상
회원
- 회원 아이디를 입력하여 사용자에게 팀원 초대 요청을 보낼 수 있다.
상
부주장
팀원 관리
- 팀장은 회원 또는 부팀장의 역할을 조정할 수 있다. - 팀장을 위임하는 것은 불가능하다 - 역할이란 계급 조정, 방출, 신규 회원 추가를 의미한다. - 회원은 팀원 정보 관리가 불가능하고, 오직 조회만 가능하다.
상
주장
매치 이력(리스트) 페이지 (별도의 페이지)
매치 이력(리스트) 조회
- 경기는 총 매칭 전, 평가 전, 평가 후의 3가지 기준으로 분류된다. - 함께 경기를 했던 팀 페이지로 접근할 수 있다. - 평가 이전 상태에서 경기 이력 조회를 클릭하면 상대 팀 평가 화면을 통해 평가가 가능하다.
중
회원
상대 팀 평가
- 평가 전 경기에 대해서 팀장은 상대 팀을 평가할 수 있다. - 팀 평가에 존재하는 총 태그의 개수는 15개(카테고리별로 5개) 이다. - 팀 평가시에 선택할 수 있는 최대 태그 수는 5개 이하이다.
중
주장
매칭
매칭 리스트 페이지
매칭 리스트
- 적용된 필터에 맞는 매칭 목록을 볼 수 있다 - 모집 중인 매칭 글을 볼 수 있다 - 무한스크롤을 통해서 매칭 리스트를 볼 수 있다.
상
비회원
매칭 상세 정보 페이지 이동
- 매칭글의 상세 정보 페이지로 이동한다
상
비회원
매칭 등록
- 매칭글을 작성할 수 있는 유저는, 매칭을 등록할 수 있다. - 매칭 등록 페이지로 이동한다
상
부주장
매칭 필터 설정
- 리스트에 적용될 필터 정보를 수정할 수 있다 (필터 : 종목, 날짜, 도, 시/군/구)
중
비회원
매칭 상세 페이지 (작성,관리의 주체는 팀)
매칭 상세 정보
- 매칭글의 상세 정보를 볼 수 있다
상
비회원
매칭 정보 수정
- 매칭글을 작성한 팀 중, 글 작성의 권한이 있는 유저는, 해당 매칭글의 정보를 수정할 수 있다 - 매칭글 수정 페이지로 이동한다
상
부주장
매칭 삭제
- 매칭글을 작성한 팀 중, 글 작성의 권한이 있는 유저는, 해당 매칭글을 삭제할 수 있다 - 삭제 시, 매칭 리스트로 이동한다
상
부주장
매칭 신청
- 매칭글을 작성하지 않은 팀에 속한 유저 중, 매칭 신청 권한이 있는 유저는, 선택한 매칭글에 매칭을 신청할 수 있다(모달) - 매칭 신청할 팀을 선택한다(드랍박스)(팀 API 콜) - 매칭 신청할 팀의 팀원을 선택한다 - 매칭을 신청한다(확인)
상
부주장
매칭 상대 수락
- 매칭글을 작성한 팀에 속한 유저 중, 매칭 신청 권한이 있는 유저는, 선택한 매칭글의 매칭 상대를 선택할 수 있다(모달) - 매칭을 신청한 팀의 목록을 확인한다 - 팀 정보(로고, 팀명)을 클릭시, 해당 팀 페이지로 이동한다 - 매칭을 수락할 팀을 선택한다 - 매칭 상대를 수락한다(확인)
상
부주장
매칭 작성 팀 정보
- 매칭글을 작성한 팀의 정보(팀명, 로고, 팀장)를 볼 수 있다 - 팀 정보(로고, 팀명) 클릭시, 해당 팀 페이지로 이동한다 - 팀장의 이름, 회원정보 버튼, 채팅버튼이 있다 - 회원정보 클릭 시, 해당 회원의 개인페이지로 이동한다 - 채팅 클릭 시, 해당 회원과의 채팅 페이지로 이동한다
중
비회원
매칭 취소
- 매칭을 신청한 팀에 속한 유저중, 매칭 수정 권한이 있는 유저는, 1일 전까지만, 해당 매칭을 취소 가능하다.
중
부주장
매칭 신청 알림
- 매칭이 정상적으로 신청되면, 해당 매칭글을 작성한 팀에게 요청완료 알림을 보낸다
하
부주장
매칭 수락 알림
- 매칭이 정상적으로 수락되면, 해당 매칭글에 수락된 팀에게 요청완료 알림을 보낸다
하
부주장
매칭 등록 페이지
신규 매칭 등록
- 매칭글 정보를 작성한다 [ 항목 : 종목, 팀, 팀원, 지역, 구장, 일자(달력), 시간(시작, 종료), 참가비, 상세정보 ] [ 필수 : 종목, 팀, 팀원, 지역, 구장, 일자(달력), 시간(시작, 종료), 참가비 ] - 매칭에 참여할 팀을 선택한다(드랍박스) (팀 API 콜) - 매칭에 참여할 팀원을 선택한다(모달) - 필수항목 작성 여부를 확인한다 - 매칭글을 등록한다(확인) - 등록을 취소한다(확인) - 매칭 리스트로 이동한다(뒤로가기)
상
부주장
매칭 수정 페이지
작성한 매칭 정보 수정
- 매칭글 정보를 수정한다 - 기존에 입력된 매칭글 정보를 볼 수 있다. [ 항목 : 팀원, 지역, 구장, 일자(달력), 시간(시작, 종료), 참가비, 상세정보 ] [ 필수 : 팀원, 지역, 구장, 일자(달력), 시간(시작, 종료), 참가비 ] [ 변경불가 : 종목, 팀 ] - 매칭에 참여할 팀을 선택한다(모달) - 매칭에 참여할 팀원을 선택한다(모달) - 필수항목 작성 여부를 확인한다 - 매칭글을 수정한다(확인) - 수정을 취소한다(확인) - 해당글의 상세페이지로 이동한다(뒤로가기)
상
부주장
용병
용병 구인 리스트 페이지
용병 구인글 확인
- 팀정보(팀로고, 날짜, 장소), 구인 내용(포지션, 연령대, 매너점수)가 표시된 글을 3개씩 확인할 수 있다. 그 이상은 무한스크롤로 확인할 수 있다.
상
회원
용병 필터된 구인글 확인
- 필터 버튼을 클릭하여 포지션, 연령대, 날짜, 도, 시/군/구(수도권, 탐라)를 중복 선택하여 필터한 용병 구인글을 확인할 수 있다.
중
회원
용병 구인글 작성
- 추가 버튼(+)을 클릭하면 용병 구인 작성 페이지로 이동하여 용병 구인글을 작성할 수 있다.
상
부주장
용병 구인 상세 페이지 (작성,관리의 주체는 팀)
용병 구인글 상세내용 확인
- 기본 정보(제목, 날짜, 장소, 포지션, 연령대)를 확인할 수 있다. - 용병수를 확인할 수 있다. - 세부 설명을 확인할 수 있다. - 팀정보(팀로고, 팀명, 팀장명, 매너온도, 연령대)를 확인할 수 있다. - 팀로고 혹은 팀명을 클릭시 팀 상세페이지로 이동할 수 있다. - 팀장명을 클릭시 팀장의 개인 페이지로 이동할 수 있다.
상
회원
용병 구인글 삭제
- 삭제버튼을 이용하여 글을 삭제할 수 있다. 삭제후 용병 리스트 페이지로 이동한다.
상
부주장
용병 가입 완료 알림
- 용병 가입이 정상적으로 완료되면 해당 용병 회원에게 알림을 보낸다
하
회원
팀장과 채팅
- 메시지 보내기 버튼을 이용하여 팀장과 채팅을 할 수 있다.
하
회원
용병 신청/취소
- 신청, 취소 버튼을 클릭하여 용병을 신청 및 취소할 수 있다. (토글)
상
회원
용병 신청 알림
- 용병 정상적으로 신청되면, 해당 팀에 요청 완료 알림을 보낸다
하
부주장
용병 구인 수정 페이지
용병 구인글 수정
- 수정버튼을 이용하여 글을 수정할 수 있다. - 뒤로가기 버튼 클릭시 모달로 "작성중인 구인 글이 삭제될 수 있습니다"라는 문구를 확인할 수 있다. 확인 버튼 클릭시 용병 구인 리스트 페이지로 이동한다. 취소 버튼을 클릭시 해당 페이지에 남아있는다.
상
부주장
용병 수락 페이지
용병 수락/거절
- 신청된 용병의 리스트를 확인하고 수락/거절 버튼을 클릭하여 구인한 용병의 수만큼 선택할 수 있다.
상
부주장
용병 구인 작성 페이지
용병 구인 작성
- 제목을 입력할 수 있다. - 용병 수를 드랍박스로 선택할 수 있다. - 한 달이내의 경기 날짜를 선택할 수 있다. 설정하지 않을시 디폴트값으로 설정된 오늘 날짜로 설정된다. 날짜는 달력뷰로, 시간은 피그마의 2안으로 설정한다. - 경기할 장소를 입력할 수 있다. - 구인하는 용병의 포지션을 입력할 수 있다. - 구인하는 용병의 연령대를 드랍박스로 선택할 수 있다. 설정하지 않을시 디폴트값으로 설정된 '20대'가 설정된다. - 세부설명을 최대 200자 입력할 수 있다. 설정하지 않을시 디폴트값으로 설정된 세부설명이 설정된다. - 생성버튼을 클릭하여 용병 구인글을 작성완료할 수 있다. 완료후 용병 구인 리스트 페이지로 이동한다. - 뒤로가기 버튼 클릭시 모달로 "작성중인 구인 글이 삭제될 수 있습니다"라는 문구를 확인할 수 있다. 확인 버튼 클릭시 용병 구인 리스트 페이지로 이동한다. 취소 버튼을 클릭시 해당 페이지에 남아있는다.
상
부주장
개인페이지
개인 화면 페이지
개인 정보 조회
- 사용자 닉네임을 볼 수 있다. - 사용자 자기소개를 볼 수 있다. - 사용자의 주요 종목을 볼 수 있다. - 사용자의 태그(키워드)을 볼 수 있다. - 사용자의 용병 경기를 포함한 총 경기 수를 볼 수 있다. - 사용자의 매너 온도를 볼 수 있다. - 사용자가 팀원이나 용병으로 포함된 팀의 로고와 팀이름을 볼 수 있다. (내가 소속된 팀 리스트 조회) - 최근 경기를 어떤 팀과 했는지 로고와 팀명을 통해 간략하게 볼 수 있다. - 최근 경기 더보기를 통해 팀명, 로고, 장소, 시간과 같은 자세한 최근 경기 내용을 볼 수 있다. - 개인 수정 페이지로 넘어갈 수 있어야 한다.
중
회원
소속팀 보기
- 소속되어 있는 소속팀을 보여줄 수 있어야 한다. - 소속팀의 로고와 팀 이름을 보여줄 수 있어야 한다. - 소속팀을 가입한 순서에 맞게 정렬해서 보여준다.
중
회원
최근경기 더보기
- 지금까지 진행한 경기를 보여줄 수 있어야 한다. - 소속팀의 로고와 이름, 상대팀의 로고와 이름을 보여줘야 한다. - 장소와 시간을 보여줄 수 있어야 한다. - 무한 스크롤을 통해 리스트를 보여줄 수 있어야 한다.
중
회원
용병 신청 리스트 보기
- 수락 대기중인 용병 신청 리스트를 보여 줄 수 있어야 한다.
중
회원
팀 초대 리스트 보기
- 자신에게 온 팀 초대 목록을 볼 수 있다 - 초대를 한 팀의 정보를 클릭 시, 해당 팀 페이지로 이동한다
상
회원
팀 초대 수락
- 자신에게 온 팀 초대 요청을 수락한다
상
회원
개인 수정 재인증 페이지
개인 수정 재인증
- 이메일은 사용자의 이메일이 이미 등록되어 있어 수정이 불가능해야 한다. - 비밀번호를 재 입력할 수 있어야 한다. - 비밀번호 검증이 가능해야 한다. - 성공적으로 재인증한 경우 개인 수정 페이지로 넘겨줘야 한다.
하
회원
개인 수정 페이지
개인 수정 기능
- 사용자명(닉네임)의 수정이 가능해야 한다. - 닉네임 수정시 중복 확인이 검증되어야 한다. - 비밀번호 수정이 가능해야 한다. - 드랍박스를 통해 성별 수정이 가능해야 한다. - 드랍박스를 통해 연령대 수정이 가능해야 한다. - 드랍박스를 통한 종목의 변경이 가능해야 한다. - 수정 버튼을 클릭시 수정 요청이 진행되어야 한다. - 수정 성공시 개인화면 페이지로 넘겨줘야 한다.
상
회원
회원 탈퇴 기능
- 회원 탈퇴 버튼 클릭시 모달를 통해 회원 탈퇴를 진행할 수 있다. - 모달에서 '지금 삭제'와 같은 문구를 입력한 경우 탈퇴가 진행된다. - 회원 탈퇴된 경우 로그아웃된 상태로 메인페이지로 이동해야 한다. - 회원 탈퇴 신청한 사용자 데이터는 DB에서 삭제되어야 한다.
상
회원
팀 조회 페이지
팀 조회 페이지
팀 조회
- 현재 서비스 내의 팀 목록을 설정된 정렬 기준에 따라 조회한다
하
비회원
팀 목록 정렬 기준 설정
- 팀 목록 조회 기준을 변경한다 (매너온도, 경기 수, 회원 수, 창립일 등)
하
비회원
  • 유저 주종목은 여러 개를 선택할 수 있게 하면 어떨까요? → 1:1로
    • 그렇다면 팀 정보 수정에서 주요 종목은 수정 못해야 하지 않을까요? 주요 종목은 수정 금지!
  • 만약 팀장이 팀 탈퇴를 누른다면?? → 그렇다면 팀장은 탈퇴하기 버튼 대신 해체하기 버튼이 있는게 맞을까요??
  • 팀 페이지에서 경기 상세보기는 별도의 페이지일까요??
    • ⇒ 맞습니다.
  • 팀 평가할때 처음 보여주는 태그 목록도 api 호출일까요??
    • ⇒ 이야기해보면 좋겠지만, 팀 정보에 담겨있으면 좋을 것 같습니다. ( 팀원(48/50) 위의 정보 )
    • 팀 평가에 사용되는 태그 는 프론트에서 더미 데이터를 가지고 렌더링. ⇒ 프론트에서 미리 만들자
  • 매칭, 용병 구인글 삭제,수정, 요청수락의 권한은 게시글 작성자가 갖는 것은 어떨까요?? → 게시글 등록한 시점부터 이미 권한 체크는 이루어 졌다고 생각합니다.
    • ㄴ 이에 대해서 매칭 평가, 삭제,수정 요청 페이지 뷰 이동 프로세스가 궁금합니다! => 평가 완료 뷰만 만들면 될 것 같아.
      ⇒ 모든 매칭은 팀 vs 팀이다 로 정의하면 좋을 것 같습니다 :)
    • 게시글 작성자 : 팀 ( 게시글 작성 때 팀을 고름 )
    • 게시글 관리: 팀의 부팀장, 팀장
    • 체리 : 주장이 올렸으면 주장이 관리! 부주장이 올렸으면 부주장이 관리하는게 맞지 않을까?
      • 호세: 작성자가 관리하면, ERD 로직 작성자 구분을 추가 해야하고 다소 복잡해지는 느낌 !
  • 모달과 페이지의 장단점에 대해서 궁금합니다! 모달로 하면 하나의 api에 여러 데이터를 보내야 하는 건가요?? 모달이 켜질때 API 콜이 있을까요?? ⇒ 모달이 켜질 때, 필요한 API 콜은 없을 것 같습니다 (아직까지는?) ⇒ 있었음!!
    • → 그러면 모달 켜지기 전 프로세스(API)를 통해 필요한 데이터를 미리 보내놔야겠군요? RESTful !
      → 일단 전체 데이터를 가져오면 프론트에서 처리해도 될 것 같다. 근데 API 설계 자세하게 할 때 더 얘기해보자
  • 용병 구인글 상세 페이지에서 팀장에 대한 정보가 들어가있고 [ㅇ] 클릭시 개인페이지로 가는 것 보다 채팅으로 연결되게 하는건 어떠실까요??
    • 팀장 프로필 옆에는 유저와 & 채팅 버튼이 프로필에 존재한다 ⇒ 누르면 채팅 페이지로 이동한다.
  • 용병 수락 페이지에서 각 용병들의 포지션을 입력하는 부분이 꼭 필요할까요?? 놉
    • ⇒ 아마도 구인 시에만 포지션을 입력 해두는걸로 알고있습니다.
  • 개인 페이지의 소속 팀 확인은 우선순위가 하→중or상 으로 가는게 어떤가용? 유저 케이스에서 변경
    • ㄴ 개인페이지에서 최근경기 리스트 조회도 하일까요??
      ㄴ 도메인별 수정 삭제도 중일까요??
  • 매칭, 용병 구인글 작성 페이지에 구장 명 고르는 부분이 없는것 같아요. ⇒ 오케오케!
    • ⇒ 매칭 및 용병 글을 작성할 때는 '구장'을 선택하도록 한다.
      ⇒ 필터를 통한 검색이 이루어질 때는 시/군/구와 같은 지역 단위로 검색한다
      ⇒ ex) 서울특별시 송파구로 필터를 하면 송파구에 있는 모든 구장에서 진행되는 매칭 정보를 렌더링한다.
      ⇒ 빠진 부분. 구장명 넣기
 
  • 팀 상세 페이지에서 운영진 부분은 주장만 보여주는 것도 깔끔할것 같습니다.
  • 팀원 리스트 페이지에서 등급 순으로 정렬이 되어 있는데 이러한 분류는 프론트, 백 어느 부분에서 처리해주는 것이 좋을 까요?? (팀원, 용병 구분도 포함)
    • ⇒ 전체 데이터 → [팀장, 부팀장, 회운, 용병] 가공해서 렌더하는 방식으로 ( by 프론트 )
  • 팀원 더보기(수정)부분에서 팀원 방출과 권한 수정 부분이 좀 헷갈릴 것 같습니다
    • ⇒ 방법에 대해서 조금 더 고민해보겠습니다.
  • 팀 이름은 수정 못하는 것으로 알고 있습니다!
    • ⇒ 반영 완료
  • 개인 수정 화면에서 Email 은 수정 못하는거로 얘기했던 것 같슴다!
    • ⇒ 반영 필요
  • 매칭 등록 페이지에서 종목을 먼저 선택하게 되는데 선택 후 팀 선택에서는 해당 종목 팀만 보여지게 될까요 ??
    • ⇒ 매칭 쪽이라 용스톤이긴한데, 처리해주는 좋은 것 같다는 의견
  • 매칭 수정페이지에서 종목, 팀 은 수정 가능하는게 맞을까요?
    • ⇒ [ 종목, 팀 변경 ] 안되죠 못참지. ⇒ 안돼 금지야 절대 안돼! 죽어도 안됨. ( 용스톤 대답. )
       
      해결
      팀 상세 페이지에서 운영진 부분은 주장만 보여주는 것도 깔끔할것 같습니다.
       
    • 매칭, 용병 구인글 작성 페이지에 구장 명 고르는 부분이 없는것 같아요. ⇒ 오케오케!
      • ⇒ 매칭 및 용병 글을 작성할 때는 '구장'을 선택하도록 한다.
        ⇒ 필터를 통한 검색이 이루어질 때는 시/군/구와 같은 지역 단위로 검색한다
        ⇒ ex) 서울특별시 송파구로 필터를 하면 송파구에 있는 모든 구장에서 진행되는 매칭 정보를 렌더링한다.
        ⇒ 빠진 부분. 구장명 넣기
         
    • 팀원 더보기(수정)부분에서 팀원 방출과 권한 수정 부분이 좀 헷갈릴 것 같습니다
      • ⇒ 방법에 대해서 조금 더 고민해보겠습니다.
      •