Skip to content

Feature/daily-close - #40

Open
zzimin25 wants to merge 2 commits into
developfrom
feature/daily-close
Open

Feature/daily-close #40
zzimin25 wants to merge 2 commits into
developfrom
feature/daily-close

Conversation

@zzimin25

@zzimin25 zzimin25 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

종류

  • ✨ 기능 (feat)
  • 🐛 버그 수정 (fix)
  • 🎨 디자인 / UI
  • 📝 문서 (docs)
  • 🔧 설정 / 잡무 (chore)

무엇을 / 왜

하루 단위로 수입·지출 기록을 확인하고 마감할 수 있는 Daily Close 기능을 구현
마감 시 당일 기록 여부를 확인하고, 하루 1회만 마감할 수 있도록 처리했으며 연속 마감일(streak_days)이 갱신되도록 구현
또한 하루 마감 화면에서 오늘의 수입·지출과 현재 잔액을 확인할 수 있도록 연결하고 피그마를 기준으로 UI를 구현

관련 이슈

Closes #32

변경 사항

ledger/services.py

  • get_today_record_summary() 추가
    • 오늘 날짜 기준 EarnRecord, SpendRecord 조회
    • 오늘의 수입/지출 합계 및 기록 존재 여부 반환
  • close_today() 추가
    • 동일 날짜 중복 마감 방지
    • 기록이 없는 경우 빈 마감 방지 처리
    • 마감 시 DailyClose 생성
    • 전날 마감 여부에 따라 streak_days 갱신

ledger/views.py

  • 하루 마감 페이지를 처리하는 View 추가
  • get_today_record_summary()를 이용해 오늘의 수입/지출 데이터를 템플릿에 전달
  • get_current_balance()를 연결해 현재 잔액을 템플릿에 전달
  • POST 요청 시 close_today()를 호출하도록 연결
  • 마감 여부 및 에러 메시지를 템플릿에 전달하도록 처리

budget/services.py

  • get_week_range()get_current_balance() 공용 잔액 함수 선반영
  • 주간 예산 + 해당 주 수입 - 해당 주 지출을 기준으로 현재 잔액 계산

⚠️ 해당 코드는 지아 PR에서 구현된 공용 잔액 함수를 기준으로 가져온 코드입니다.
지아님 PR이 아직 develop에 머지되지 않아 하루 마감 기능과의 연결 및 테스트를 위해 우선 반영했습니다.
추후 해당 PR 머지 후 중복되는 부분은 정리할 예정입니다.

ledger/templates/ledger/daily_close.html

  • 하루 마감 페이지 신규 생성
  • 오늘의 지출 / 오늘의 수입 / 현재 잔액 출력
  • streak_days 출력
  • 마감 전 하루 마감하기, 마감 후 마감완료! 상태 분기
  • 기록이 없는 경우 사용할 오늘 숏폼을 보지 않았어요 체크 UI 추가
  • 마감 요청을 위한 POST form 및 CSRF 처리

ledger/static/ledger/css/daily_close.css

  • 하루 마감 페이지 전용 CSS 신규 생성
  • 피그마 기준 수입/지출/잔액 카드 및 체크 아이콘 스타일 적용
  • streak 안내 영역 및 마감 버튼 스타일 적용
  • 마감 전/완료 화면에 필요한 레이아웃 구현

테스트 방법

  • docker-compose exec web python manage.py test ledger로 확인
  • ledger 테스트 6개 전체 통과 (OK)
  • 하루 마감 페이지 정상 렌더링 확인
  • 하루 마감 처리 및 마감 완료 상태 전환 확인
  • 현재 잔액 표시 정상 동작 확인

스크린샷

스크린샷 2026-08-08 145110 스크린샷 2026-08-08 144610

체크리스트

  • 로컬에서 실행해봤고 안 깨진다 (docker-compose up)
  • 커밋 컨벤션(feat:, fix:, docs: ...)을 지켰다
  • .env 등 시크릿은 커밋에 포함되지 않았다
  • 리뷰어 2명 이상 지정했다

@zzimin25 zzimin25 changed the title [Ledger] 하루 마감(Daily Close) 기능 구현 feature/daily-close Aug 8, 2026
@zzimin25 zzimin25 changed the title feature/daily-close Feature/daily-close Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Ledger] 하루 마감(Daily Close) 로 구현

1 participant