Skip to main content
← 블로그

준비물에 비용을 — Preparation 섹션 강화

VauDium ·

준비물 항목에 비용 추적 기능을 추가한 구현기입니다. 단가/총액 선택, 통화 자유입력, 자동 계산까지.

준비물에 비용을

체크리스트 그 이상

Fecit의 Preparation 섹션은 태스크를 실행하기 전에 필요한 것들을 정리하는 공간입니다. 재료, 도구, 장소, 인원 — 네 가지 카테고리로 나누어 관리합니다.

그런데 지금까지 Preparation은 체크리스트 수준이었습니다. “밀가루 필요” 체크, “믹서기 필요” 체크. 준비물을 “준비”하려면 빠진 게 있었습니다. 얼마나 드는지.

비용 필드

각 준비물 항목에 비용을 입력할 수 있게 했습니다. 단순히 숫자 하나를 넣는 게 아니라, 몇 가지를 고민했습니다.

단가 vs 총액

밀가루 5kg이 필요하고, kg당 3,000원이라면? 단가를 입력하고 자동으로 총액을 계산하는 게 편합니다. 하지만 믹서기 대여비 50,000원은 그냥 총액을 입력하는 게 자연스럽습니다.

그래서 단가/총액을 선택할 수 있게 했습니다. 수량이 있는 카테고리(재료, 도구)에서는 토글로 전환할 수 있고, 단가 모드에서는 수량 × 단가 = 총액이 자동으로 표시됩니다. 장소나 인원처럼 수량 개념이 없는 카테고리에서는 총액만 입력합니다.

통화

여행 준비라면 원화와 달러가 섞일 수 있습니다. 통화를 자유 텍스트로 입력할 수 있게 했습니다. “KRW”, “USD”, “원”, ”$” — 사용자가 원하는 형식으로.

매번 통화를 입력하는 건 번거로우니까, Achiever 설정에서 기본 통화를 지정할 수 있습니다. 새 항목을 만들면 기본 통화가 자동으로 채워집니다.

입력 UI

기존의 수량 입력과 같은 패턴을 따랐습니다. 값 옆에 단위가 붙는 한 줄 구조입니다.

수량                [5] [kg]
비용            [3000] [KRW]
총액            15,000 KRW

수량과 단위가 한 줄, 비용과 통화가 한 줄. 단가 모드일 때만 총액이 자동 계산되어 표시됩니다. 작지만 필요한 정보를 컴팩트하게 담았습니다.

리스트에서도

항목을 열지 않아도 리스트에서 비용이 바로 보입니다. 제목 옆에 수량, 단위, 비용이 한눈에.

✓ 밀가루  5 kg  15,000 KRW
□ 믹서기  1  50,000 KRW

네 가지 카테고리 모두

재료, 도구, 장소, 인원 — 네 카테고리 모두에 비용 필드를 넣었습니다. 카테고리마다 맥락이 다릅니다.

  • 재료: 식재료, 부품 — 단가 × 수량 계산이 유용
  • 도구: 구매/대여 비용 — 수량이 있으니 단가 계산 가능
  • 장소: 대관/임대 비용 — 총액만
  • 인원: 인건비 — 총액만

구현

데이터 모델에 세 개 필드를 추가했습니다: cost(비용), cost_currency(통화), is_unit_price(단가 여부). 모든 필드는 Optional이라 기존 데이터에 영향 없이 점진적으로 사용할 수 있습니다.

비용은 문자열로 저장합니다. 부동소수점 오차를 피하기 위해서입니다. 수량(quantity)도 문자열로 저장하는 기존 패턴을 따랐습니다. 계산이 필요할 때만 프론트엔드에서 파싱합니다.

API는 기존의 필드별 업데이트 패턴을 그대로 따릅니다. cost/set, cost-currency/set, is-unit-price/set — 각각 독립적으로 업데이트됩니다. 모바일과 데스크톱 양쪽에 동시 적용했습니다.

준비에 전문화된 섹션으로

Preparation 섹션이 단순 체크리스트에서 한 발 나아갔습니다. 무엇이 필요한지뿐만 아니라, 얼마나 드는지도 파악할 수 있게 되었습니다.

태스크를 실행하기 전에 비용을 가늠할 수 있다면, 더 현실적인 계획을 세울 수 있습니다. 작은 기능이지만, 준비를 “준비답게” 만드는 데 기여할 수 있기를 바랍니다.