1. 유저

  1. 사용자 회원가입
    1. 계정명, 패스워드 입력하여 회원가입
  2. 사용자 로그인
    1. 로그인시 JWT 발급
    2. 이후 모든 API 요청 Header에 JWT 포함 후 유효성 검증 필수
  3. 사용자 로그아웃
    1. 로그아웃시 DB에 있는 Refresh 토큰 삭제

2. 예산설정 및 설계

  1. 지출 카테고리 목록
    1. 식비 , 교통 등 일반적인 지출 카테고리 목록 반환
  2. 예산 설정
    1. 카테고리, 예산 로 설정.
    2. 예산 설계 추천 시스템 (API)
      • 카테고리 를 지정 안할 때, 카테고리 별 배분 금액 추천.
      • 기존 유저의 카테고리 별 예산을 통계를 구해, 자동으로 카테고리에 배분.
        • 이때, 통계가 10프로 이하인 카테고리들은 모두 묶어 기타로 제공.
    3. 수정/삭제 가능

3. 지출 기록

  1. 지출 속성
    1. 지출 일시, 지출 금액, 카테고리, 메모, 합계제외여부 필수 포함
    2. 추가적인 필드 사용 가능
  2. 지출 CRUD
    1. 생성, 수정, 읽기(상세), 읽기(목록), 삭제, 합계제외
  3. 지출 읽기(목록)
    1. 조회 기준: 기간(필수 입력), 카테고리, 금액(최소, 최대 금액)
    2. 조회된 모든 지출의 지출 합계, 카테고리 별 지출 합계 포함
    3. 합계제외 처리한 지출은 목록에는 포함되지만, 모든 지출 합계에서는 제외

4. 지출 컨설팅

  1. 오늘 지출 가능한 금액 추천
    1. 월별 예산을 만족 시키는 오늘 사용가능한 총액카테고리 별 금액 추천
    2. 이번 달의 남은 일수 고려
    3. 0원 또는 음수이면 안되고 최소 추천 금액을 설정
  2. 유저 상황에 맞는 멘트
    1. 매달 1일 일 때
      • 이번 달에도 열심히 예산관리를 해봐요!
    2. 잘 아끼고 있을 때
      • 잘하시고 있네요!
      • ((예산 총액 - 지출 총액) / 예산 총액)) / (남은 일수 / 해당 달의 총 일수) ≥ 1.5
    3. 적당히 사용 중 일 때
      • 괜찮은 페이스로 사용중이세요
    4. 기준을 넘었을 때
      • 기준을 넘어서 사용하셨어요!
    5. 예산을 초과했을 때
      • 예산이 초과되었네요 ㅠㅠ
  3. 100원 단위 반올림한 금액으로 추천
  4. 스케쥴러 및 웹훅으로 알람 구현 (선택 사항)
  5. 오늘 지출한 내용 안내
    1. 총액, 카테고리 별 금액 안내
    2. 적정 금액, 지출 금액, 위험도 를 카테고리 별로 안내