hegunhee / Routiner

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Entity 정리

hegunhee opened this issue · comments

현재 Date, Review, Routine 세가지의 Entity만 존재함

  1. Date
    날짜를 저장해두는 Entity
    프로퍼티는 date만 존재함
    해당 날짜를 저장하기때문에 이 날짜는 하나밖에 존재하지 않으므로
    날짜가 primaryKey
    기록을 열람할때도 Date를 전부 불러와서
    좌 우 버튼으로 날짜를 변경할때 존재하는 날짜로만 이동 가능
    6월 24일에 루틴이 존재하지 않을경우 6월 24일로 이동하는 일은 없음
    image

  2. Review
    지나간 날짜에 한해서 한개의 코멘트만 작성 가능
    ex) 이 날은 무슨무슨 일때문에 이러한 루틴을 하지 못했다
    날짜에따라 하나만 존재 가능하므로
    날짜가 PrimaryKey
    image

  3. Routine
    하나하나의 기록물인 Routine
    date -> 저장한 날짜, 같은날짜에 여러가지 Routine 가능
    text -> 기록하는 내용 ex) 영어단어 공부하기, 아침 산책하기
    isFinished -> 완료한 루틴인지 체크
    category -> 카테고리를 설정 가능 (추후 업데이트 예정)
    id -> Primary Key값 autoGenerate임
    image

기타 사항들
날짜 저장은 어떻게 되는가
일단 앱을 켰을때 날짜가 저장이 됨 (SharedPreference)
오늘 앱을 켰을때 가장 최근 앱을 켠 날짜가 다를 경우
이전에 저장된 날짜가 Room DB에 저장이 됨
하지만 만약 가장 최근 앱을 켠 날짜에 등록된 Routine가 없다면
그날에 등록한 Routine이 없기때문에 이전 날짜가 Room DB에 저장되지 않음

추후 추가될 수 있는 Entity
CoreRoutine -> 매일 등록해놓고싶은 Routine이 존재할 수 있음
ex) 영양제 챙겨먹기
그럴경우에 오늘 처음 앱을 켰을때 오늘자 Routine에 등록되게 만듦
그래서 새로운 Entity를 만들어 CoreRoutine을 등록 가능
물론 앱을 키지 않은 날짜에는 Routine이 등록되지 않음
위의 기타사항과 맥락이 같음