1️⃣ 할당된 업무에 대한 진행상황.
in progress
: 예산 및 지출 관련 API 작성 중
done
: 프로젝트 구조 설계, 사용자 회원가입 및 로그인, 카테고리 API 완료
2️⃣ 진행한 작업에 대한 리뷰 및 커밋한 내용 리뷰진행.
- 예산 생성 관련 생성(수정)을 json 배열 형식으로 요청 받아 진행하였는데, 이 방식이 괜찮은 지에 대한 고민해보았습니다.
[
{
"categoryID": 1,
"amount": 400000
},
{
"categoryID": 3,
"amount": 200000
}
]
- 아래 요구사항을 변경 구상하고 있는데, 요구사항을 변경할 지 그대로 구현할 지 고민하고 있습니다!
- 자동 생성된 예산은, 기존 이용중인
유저
들이 설정한 평균 값 입니다.
- 유저들이 설정한 카테고리 별 예산을 통계하여, 평균적으로 40% 를
식비
에, 30%를주거
에 설정 하였다면 이에 맞게 추천.- 10% 이하의 카테고리들은 모두 묶어
기타
로 제공한다.(8% 문화, 7% 레져 라면 15% 기타로 표기)- 위 비율에 따라 금액이 입력됩니다.
- 기존 이용 중인 사용자들이 설정한 평균 비율 값이 사용자가 원하는 예산 설계에 적절하지 않을 수 있다고 생각함
- 사용자 총 예산과 근접한 다른 사용자 10명의 카테고리 별 예산 목록을 가져오는 것이 좀 더 참고하기 좋다 생각함
3️⃣ Today I Learned
- Entity에서 Join된 Relation Entity의 Column을 찾을 때 아래와 같이 조건문으로 접근해서 찾는 방식에 대해 이해할 수 있었음.
@Entity('users')
@Unique(['username'])
export class User {
@PrimaryGeneratedColumn()
id: number;
...
@OneToMany(() => Budget, (budget) => budget.user)
budgets: Budget[];
}
@Entity('budget')
export class Budget {
...
@ManyToOne(() => User, (user) => user.budgets, {
onDelete: 'CASCADE',
})
@JoinColumn({ name: 'user_id' })
user: User;
}
/** id의 사용자 예산 정보 반환
* @return Budget[]
*/
getBudgetsByUser(id: number): Promise<Budget[]> {
return this.budgetRepository.find({
where: { user: { id: id } },
relations: ['user', 'category'],
});
}
Ghost