본문 바로가기

백앤드 개발/Spring boot 기반 롤 전적 사이트 개발

[Spring 프로젝트] 프로젝트 설계 3일차 기능 명세서

 구분  기능명  HTTP  routes  요구사항
 유저  회원가입 폼  GET  /member/signup  회원가입 클릭시, 회원가입 페이지로 이동 
 유효성 검사를 위한 폼 클래스
 ID: 3~25 길이, 필수항목
 비밀번호: 필수항목
 비밀번호2: 필수항목
 이메일: 필수항목, 이메일 형식 검증
 회원가입 완료  POST  /member/signup  ID, 비밀번호, 이메일을 입력받아 회원가입
 @Valid 기반 폼 유효성 검사
 ID, 이메일 중복 체크
 비밀번호 확인 검증
 admin 유저 추가하는 테스트 작성
 로그인 폼  GET  /member/login  로그인 클릭시, 로그인 페이지로 이동
 로그인 완료  POST  /member/login  스프링 시큐리티 세션 기반 로그인
 로그인 실패시 오류 메시지 표기
 일반 유저일시, USER 권한 부여
 로그아웃 버튼 표기
 로그아웃  GET  /member/logout  스프링 시큐리티 세션 기반 로그아웃
 세션 초기화
 로그인 버튼 표기
 게시판  게시글 등록 폼  GET  /board/create  로그아웃 상태에서 게시글 등록시 “로그인이 필요한 기능
 입니다.” 메시지 출력
 질문 등록 클릭시, 질문 등록 페이지로 이동
 유효성 검사를 위한 폼 클래스
 제목: 필수항목 / 내용: 필수항목
 게시글 등록 완료  POST  /board/create  제목, 내용, 로그인 유저로 게시글 등록
 @Valid 기반 폼 유효성 검사
 게시글 목록  GET  /board/list  게시글 목록과 페이지 버튼별 이동
 대량의 게시글을 추가하는 테스트 작성
 게시글 페이징      JPA 페이징 라이브러리 적용
 한 페이지당 보여지는 게시글의 개수는 10개
 한 번에 보여지는 페이지 개수는 5개
 페이지 클릭시 url path 변경
 이전 버튼 클릭 시 이전 페이지로 이동
 다음 범위 클릭 시 다음 페이지로 이동
 처음 버튼 클릭 시 첫 페이지로 이동
 끝 버튼 클릭 시 끝 페이지로 이동
 게시글 상세  GET  /board/detail  리스트의 제목 클릭 시, 게시글 상세 호출
 로그인 된 유저와 작성자가 같다면 수정/삭제 버튼 표기
 게시글 수정 폼  GET  /board/update  로그인 유저와 작성자가 같을 경우 수정 버튼 표기
 수정 버튼 클릭시, 게시글 수정 폼으로 이동
 폼 클래스를 통해 제목, 내용을 가져옴
 권한 검증: 작성자가 다를 경우 400 반환
 게시글 수정 완료  POST  /board/update    저장 버튼 클릭 시 게시글 수정
 제목, 내용, 수정일자 업데이트
 @Valid 기반 폼 유효성 검사
 권한 검증: 작성자가 다를 경우 400 반환
 게시글 삭제  GET  /board/delete  삭제 버튼 클릭 시, 삭제 확인 메시지
 확인 버튼 클릭 시, 게시글 삭제 
 권한 검증: 작성자가 다를 경우 400 반환
 게시글 검색  GET /board/list?keyword={검색어}&page={페이지}  검색 대상: 제목+내용+작성자 통합 검색
 검색 후 페이지네이션 적용
 페이지 클릭 후에도 검색 적용
 전적검색  소환사 검색  GET /summoner/{아이디}  RIOT API 기반
 소환사 정보 (닉네임, 레벨, 티어, 승/패) 표기
 최근 10 게임 플레이한 챔피언, 승/패, 경기 시간, KDA 표기