posite 2026. 5. 7. 17:44

QuietNight - 편안한 밤을 위한 코골이 코치 앱 (2026.04 ~ )

Skills: Kotlin, Jetpack Compose, Room, Hilt, Foreground Service, Record Audio, MVI

Tools: GitHub

Member: Android(1)

Github: https://github.com/posite/QuietNight

 

시스템 개요

  • 가끔 코를 골고 불편하게 자면서 밤에 잠에서 깨거나 아침에 일어나도 개운하지 않은 불편함을 개선하기 위해 만든 앱입니다.
  • 단순히 코골이를 기록하는 것이 아닌 실시간 교정, 개선하는 앱입니다.

 

고민한 흔적

수면 시간, 코골이 시간 누적의 번거로움

원인 : 기록되어 있는 수면 기록 중 오늘 기록한 기록이 있는지 확인하고 해당 시간을 누적해야 함 

고민 및 해결방안

  • 모든 기록들에 대해서 날짜를 비교하여 구분하고 누적하기
    • 모든 기록들을 해당 날 인지 확인해야 하므로 로직이 복잡함
    • 모든 기록들을 일일이 확인한 후 수면 시간, 코골이 시간을 누적 및 점수를 계산해야 하므로 연산 시간이 오래 걸림
  • 날짜를 해당 날 0시 0분 0초로 고정하여 저장 및 Room의 Update, Insert 분기
    • 날짜 비교 없이 해당 날짜 기록이 있으면 수면 시간, 코골이 시간을 누적하여 Update 하고 없으면 Insert하게 분기함
    • 단 하나의 데이터만 조회하면 되므로 연산 시간이 짧음
    • 모든 방면에서 우수한 날짜 고정 방식 적용

적용 및 결과

  • 간편하고 빠르게 누적 수면 시간, 누적 코골이 시간 계산 및 기록 가능