API Server 기능 분석 - mash-up-kr/Constellation-Diary-Backend GitHub Wiki

API Server 기능 분석

User Story

  • @korea8378, @HyeranShin은 프로젝트에 필요한 기능이 무엇이 있을지 분석한다.

UAC

  • Notion참조
  • 페이지별로 카테고리를 분류한다.
  • 각각 페이지에 필요한 기능들을 나열한다.
  • 각 기능들의 요구사항을 분석한다.
  • 요구사항에 맞게 서버는 어떻게 구성, 동작할지 분석한다.

공통

  • 로그인, 회원가입, 인증번호 발급 기능을 제외하고 모든 요청에는 토큰을 통하여 인증 한다.
  • 리플레시 토큰을 이용하여 토큰과 리플레시 토큰을 발급한다.

회원가입

  • 이메일 인증 통하여 사용자 인증을 받는다.(인증번호 6자리수)
  • 아이디/비밀번호/이메일/별자리를 통하여 회원가입을 한다.
  • 아이디 중복검사
  • 회원가입이 완료되면 토큰, 리플레시 토큰을 발급한다.

로그인

  • 아이디와 비밀번호를 입력하여 로그인을 한다.
  • 로그인시 토큰, 리플레시 토큰을 발급하고 유저의 정보를 함께 반환한다.

아이디 찾기 & 비번 찾기(수정)

  • 이메일 인증을 통하여 유저의 아이디 찾는다.
  • 이메일 인증을 통하여 유저의 비밀번호를 변경한다.

유저 정보 설정하기

  • 사용자의 운세확인 시간을 설정할 수 있다.
  • 사용자의 운세확인 시간을 ON/OFF 할 수 있다.
  • 사용자의 질문확인 시간을 설정할 수 있다.
  • 사용자의 질문확인 시간을 ON/OFF 할 수 있다.
  • 유저의 별자를 변경 할 수 있다.

데일리 질문

  • 오늘의 질문, 일기를 반환
    • 질문란에 질문 또는 일기 제목 반환 조건
      • 해당 날짜의 일기가 작성되어 있으면 - 일기 제목 O, 질문 X
      • 해당 날짜의 일기가 작성되어 있지 않고 사용자의 질문 확인시간 이후 - 일기 제목 X, 질문 O
      • 해당 날짜의 일기가 작성되어 있지 않고 사용자의 질문 확인시간 이전 - 일기 제목 X, 질문 O("오늘의 운세를 확인해보세여"/고정질문)

일기 쓰기

  • 제목, 내용, 날짜를 입력하여 일기를 작성한다.
  • 이미 작성한 일기의 제목, 내용을 수정한다.
  • 이미 작성한 일기를 삭제한다.
  • 한번에 다수의 일기를 삭제한다.

운세 보기

  • 선택한 별자리의 오늘 운세를 반환
  • 사용자는 다른 별자리로 변경할 수 있다.

일기 보관함

  • 지금까지 사용자가 작성한 일기리스트를 보기
  • 사용자가 선택한 일기를 보기
  • 연도에 따른 일기수(달별로 묶어서 처리)를 볼 수 있다.