Flutter 9기 창업/📚 Today I Learned

[Flutter 9기 창업반] 앱 개발 창업 부트캠프 41일차

히니미니마니모✦🇸​​🇹​​🇴​​🇷​​🇾​✦ 2026. 1. 20. 23:56

 

📝 오늘 작업 내용 (Work Summary)

1. 비밀번호 재설정 페이지 추가/보완

  • 비밀번호 설정(PasswordSetupPage):
    회원가입 흐름에서 비밀번호를 설정하고 확인하는 UI와 유효성 검사 로직 구현
  • 비밀번호 재설정(PasswordResetPage):
    비밀번호를 잊어버린 사용자를 위한 재설정 페이지를 추가하여 인증 흐름(Auth Flow) 완성

2. 캘린더 페이지 작업

  • CalendarPage 구현: table_calendar 패키지를 활용, 월별 캘린더 화면을 구축
  • 이벤트 마커 개선:
    - 복용약이 있는 기간 표시(Range Marker).
    - 미복용(노란 삼각형), 유통기한 임박(검은 원) 등의 상태 마커 추가하여 직관성 UP
  • 상세 보기: 날짜 선택 시 해당 일자의 복용 스케줄 및 이슈(미복용 등)를 하단 리스트로 보여주도록 구현

3. 종류 선택 로직 구성

  • 흐름 분기 처리(MedsTypeSelect):
    약의 종류(처방약, 영양제 등)에 따라 등록 절차를 다르게 가져가는 로직을 추가
    - 처방약/피임약: '복용 시작일' → '복용 기간' 선택 흐름.
    - 영양제/일반의약품: '유통기한' 선택 흐름.

4. 유통기한 날짜 선택 페이지 생성

  • MedsExpirationDate: 영양제 등 기간이 정해져 있지 않은 약을 위해 유통기한 입력 전용 페이지 추가
  • UX 개선: 페이지 진입 시 기본값을 '오늘'로 설정하여 사용자 편의를 고려

5. 복용 주기 페이지 작업

  • MedsPeriod 페이지 구현: '매일', '격일', '주 N회' 등 다양한 복용 주기를 설정할 수 있는 화면 제작
  • UI/UX 고도화:
    단순 토글이 아닌 라디오 버튼 리스트 형태로 선택지를 명확하게 보여줌
    '주 N회' 선택 시에만 요일 선택 옵션이 나타나도록 하여, 불필요한 입력을 줄이고 직관적인 인터페이스 제공

 

💡 Tech Note

  • 복잡한 분기 처리: 약의 종류만큼 다양한 등록 시나리오를 효과적으로 관리하기 위해
    라우팅 및 데이터 저장 로직(MedsDraft)을 체계화했습니다.
  • 동적 UI 상태 관리: 복용 주기 선택 시 사용자의 선택(Option)에 따라
    하위 위젯(요일 선택기)의 상태와 유효성 검사 로직이 유기적으로 변경되도록 
    setState 기반의 로직을 견고하게 작성했습니다.