만들면서 생각난 고려해야 할 것
- 컨텐츠, 테스트 라는 단어 대신할 단어 정의가 필요하다
- test는 개발 상 헷갈릴 수 있어서
기능 정리
컨텐츠
- 메인 페이지에서 리스트가 조회된다
- 무한 스크롤 기능 (5개 기준)
- 상세 페이지
- 접근 시 조회수가 1 증가하고, 조회수는 ‘참여자 수'라고 명명한다
- 가장 많은 유형
- 최초 유저가 접근 시 연산하여 ‘연산 결과 테이블'에 저장한다
- 저장 데이터: 테스트 pk, 2위까지의 결과 seq 각각, 비율, 날짜 (시간까지)
- 추가 접근 시 24시간 내의 결과 값이 있다면 연산하지 않고 값을 조회한다
- 추가 접근 시 24시간 내의 결과 값이 없다면 다시 연산하여 저장하고 조회한다
- 클릭 시 해당 유형의 페이지로 이동한다
- ‘가장 많은 유형' 기능을 조회할 수 있다
- 테스트
- 테스트 문제, 결과 내용은 (일단) 하드 코딩한다
- 테스트 저장할 내용: pk, 제목, 조회수(=참여자 수)
- 테스트 완료 시 결과 페이지로 이동한다
- 이동 시 결과 값을 저장한다 (회원 seq는 필수 x, 결과 값은 필수 o)
- ‘가장 많은 유형' 기능을 조회한다
- 유형 별 궁합
- 테스트 저장 시 각 유형에 대한 good, bad 결과 seq를 저장하여 사용한다
- 그에 맞는 값을 조회한다
회원
- 가입
- 저장할 회원 정보: 이메일, 비밀번호, 닉네임
- 이메일로 중복 가입 여부를 체크한다
- 비밀번호의 규칙은 추후에 정한다
- 닉네임 중복 체크가 필요하다
- 로그인
- 완료 시 메인화면으로 이동한다
- 소셜 로그인, 프로필 사진은 다음 기회에...
- 비밀번호 찾기
- 가입 시 저장한 이메일로 인증 메일을 발송한다
- 찾기 눌렀을 때 인증메일에서 ‘인증하기' 클릭하고 본래 페이지에서 ‘인증 완료' 클릭하면 비밀번호 수정 페이지로 이동한다
- 새로운 비밀번호를 비밀번호 규칙에 맞춰 수정한다
- 탈퇴
- 탈퇴 클릭 시 ‘정말로 탈퇴하시겠습니까?’ 라는 알럿창 혹은 문구 - 확인 후 탈퇴
- 탈퇴 진행 시 ‘탈퇴 여부 컬럼'을 수정한다
- 이메일, 닉네임은 공백으로 변경한다
- 마이 페이지
- 회원 수정 페이지로 이동할 수 있다
- 회원가입 후 진행한 테스트의 결과를 조회할 수 있다
- 테스트 결과 테이블에 진행한 테스트 seq, 결과 seq, 날짜로 조회한다
- 날짜 desc로 top 1으로 조회해야 하나?
- 결과 클릭 시 해당 유형의 페이지로 이동한다
- 회원 수정
- 닉네임만 변경 된다
검색
- 메인 화면에만 존재한다
- 테스트의 제목만 검색할 수 있다
- 검색 결과는 리스트로 뜬다 (무한 스크롤 기능, 5개 기준)
- 검색 버튼이 존재하고, 엔터를 눌렀을 때도 검색이 된다
- 메인 화면에서 조회하는 api와 동일한 것을 사용해도 될 듯