만들면서 생각난 고려해야 할 것

  1. 컨텐츠, 테스트 라는 단어 대신할 단어 정의가 필요하다
    1. test는 개발 상 헷갈릴 수 있어서

기능 정리

컨텐츠

  1. 메인 페이지에서 리스트가 조회된다
    1. 무한 스크롤 기능 (5개 기준)
  2. 상세 페이지
    1. 접근 시 조회수가 1 증가하고, 조회수는 ‘참여자 수'라고 명명한다
    2. 가장 많은 유형
      1. 최초 유저가 접근 시 연산하여 ‘연산 결과 테이블'에 저장한다
        1. 저장 데이터: 테스트 pk, 2위까지의 결과 seq 각각, 비율, 날짜 (시간까지)
      2. 추가 접근 시 24시간 내의 결과 값이 있다면 연산하지 않고 값을 조회한다
      3. 추가 접근 시 24시간 내의 결과 값이 없다면 다시 연산하여 저장하고 조회한다
      4. 클릭 시 해당 유형의 페이지로 이동한다
    3. ‘가장 많은 유형' 기능을 조회할 수 있다
  3. 테스트
    1. 테스트 문제, 결과 내용은 (일단) 하드 코딩한다
    2. 테스트 저장할 내용: pk, 제목, 조회수(=참여자 수)
    3. 테스트 완료 시 결과 페이지로 이동한다
      1. 이동 시 결과 값을 저장한다 (회원 seq는 필수 x, 결과 값은 필수 o)
      2. ‘가장 많은 유형' 기능을 조회한다
  4. 유형 별 궁합
    1. 테스트 저장 시 각 유형에 대한 good, bad 결과 seq를 저장하여 사용한다
    2. 그에 맞는 값을 조회한다

회원

  1. 가입
    1. 저장할 회원 정보: 이메일, 비밀번호, 닉네임
    2. 이메일로 중복 가입 여부를 체크한다
    3. 비밀번호의 규칙은 추후에 정한다
    4. 닉네임 중복 체크가 필요하다
  2. 로그인
    1. 완료 시 메인화면으로 이동한다
    2. 소셜 로그인, 프로필 사진은 다음 기회에...
    3. 비밀번호 찾기
      1. 가입 시 저장한 이메일로 인증 메일을 발송한다
      2. 찾기 눌렀을 때 인증메일에서 ‘인증하기' 클릭하고 본래 페이지에서 ‘인증 완료' 클릭하면 비밀번호 수정 페이지로 이동한다
      3. 새로운 비밀번호를 비밀번호 규칙에 맞춰 수정한다
    4. 탈퇴
      1. 탈퇴 클릭 시 ‘정말로 탈퇴하시겠습니까?’ 라는 알럿창 혹은 문구 - 확인 후 탈퇴
      2. 탈퇴 진행 시 ‘탈퇴 여부 컬럼'을 수정한다
      3. 이메일, 닉네임은 공백으로 변경한다
    5. 마이 페이지
      1. 회원 수정 페이지로 이동할 수 있다
      2. 회원가입 후 진행한 테스트의 결과를 조회할 수 있다
        1. 테스트 결과 테이블에 진행한 테스트 seq, 결과 seq, 날짜로 조회한다
        2. 날짜 desc로 top 1으로 조회해야 하나?
        3. 결과 클릭 시 해당 유형의 페이지로 이동한다
    6. 회원 수정
      1. 닉네임만 변경 된다

검색

  1. 메인 화면에만 존재한다
  2. 테스트의 제목만 검색할 수 있다
  3. 검색 결과는 리스트로 뜬다 (무한 스크롤 기능, 5개 기준)
  4. 검색 버튼이 존재하고, 엔터를 눌렀을 때도 검색이 된다
  5. 메인 화면에서 조회하는 api와 동일한 것을 사용해도 될 듯