---
# System prepended metadata

title: 4주차 스프린트 계획

---

# 4주차 스프린트 계획 
## 계획
- 수정 페이지, 거래내역 삭제 기능 :one:  
- 인증 관련 미들웨어 작성 :one: 
- 메인페이지에서 로그인 유무에 따른 페이지 이동 :one: 
- 필터에 따른 데이터 선별하기 :one: 
- 통계페이지 자잘한 버그들 (예진) :two: 
- 카테고리 페이지 :one: 
- mms 문자 처리 :one: 
- 개인 설정 기능 구현 (윤년, GMT) :three: 
- 친구 초대 관련 페이지들... :three: 


## 논의

- 거래내역 수정 삭제 권한
    - Option1: 공유 가계부에서 본인이 작성한 거래내역만 수정, 삭제하기.
    - Option2: 같은 가계부 속하기만 하면 모든 권한(수정, 삭제, 생성) 공유✅
    - 이유: 모델 변경을 많이 하지 않아도 되고, 깃헙 또한 콜라보레이터들은 저장소내에서 모든 권한이 있기 때문이다.

- TransactionStore에서 transactions 초기값
    - 다른 스토어처럼 배열로 두자
- page에서 내꺼 아니면 다시 팅겨내는 미들웨어가 있어야 하니. 


- 가계부 FE에서 식별
    - Option 1: URL에 ObjId
    - Option 2: username/AccountTitle ✅
    - 이유: object id를 url에 넣는 것이 사용자 입장에서 불편할 것 같다. 유저가 중복된 타이틀을 만들지 못하게 막는다면, option2로도 충분히 해결할 수 있을 것이다.
    - 기능 구현 & 수정해야할 것
        - 라우팅 : transactions/:username/:title/...
        - 유저는 자신이 만든 가계부와 동일한 이름의 가계부를 생성할 수 없다.
        - 세션 스토리지에 어카운트 관련 정보 제거(필요없어짐 당함)
        - Account Schema에 owner 추가 - 임베디드

- date 관련 통일
    - 날짜 구하는 함수는 date로 리턴하고 
    - 스트링으로 출력하고싶다. 하면 `dateFormatter` 사용하여 변환하여 사용.
- 카테고리 페이지에서 수정 생성 분기
    - 모달창을 띄울 때 분기되는 확인 값을 넣자.

- soft delete 필드 이름 추가
    - 거래내역: isDeleted : boolean, default: false
    - 카테고리: isDeleted : boolean, default: false

## 오늘의 부캠

13시 수업 14:30분쯤 끝날듯... 

## 오늘 할 일 
- 승환 : 라우팅 수정, 필터를 적용해서 리스트 출력하는 기능
- 예진 : 거래내역 수정, 삭제 페이지, 거래내역 생성시 버그 잡기
- 상신 : nodata -> 빈배열로, 달력 없는 데이터도 보여주기, 인증 미들웨어
- 석주 : ㅋ카테고리 페이지 모달창 수정, 삭제기능