가이드
유저
{ id: string, // user 고유 id, api용 name: string, // user 이름 nickName: string, // 유저가 설정한 닉네임(실제 렌더링 되는 부분) imageUrl: string, // 유저 프로필 이미지 email: string, // 로그인용 password: string, routines: [], // 해당 유저가 보유하고 있는 routine 배열 routinePosts: [], // 해당 유저가 커뮤니티에 올린 routinePost 배열 routinePostLikes: [], // 내가 좋아요한 게시글 commentLikes: [], // 내가 좋아요한 댓글 }
루틴
{ // userid id: string, // 루틴 고유 id name: string, // 루틴의 이름 or 제목 emoji: string, color: string, startTime: string, // Date객체 ('2021-11-24T13:21:52.313Z') durationTime: number, // 13425 week: [], // ['Mon', 'Tue', ... ] categorie: [], // ['activity', 'travel'] missions: [], // 루틴을 구성하는 미션들 배열 routineCompletion: [], // // done: boolean, // reviews: [], }
미션
{ id: string, emoji: string, name: string, color: string, durationTime: // Date객체, }
루틴 완료(routineCompletion)
- 유저가 특정 루틴에 대해 수행한 날짜와 수행시간에 대한 데이터
{ id: string, routineInfo: routine, date: string, // 수행한 날짜 startTime: string, // 수행 시작한 시간 endTime: string // 수행 완료한 시간 userDurationTime: string, missionCompletions: missionCompletion[], }
routineInfo = { // id: string, // 루틴 고유 id, 삭제된 루틴일시 아이디가 의미가 없어짐 name: string, // 루틴의 이름 or 제목 emoji: string, color: string, startTime: string, // Date객체 ('2021-11-24T13:21:52.313Z') durationTime: number, // 13425 categorie: [], // ['activity', 'travel'] }
미션 수행(missionCompletion)
- 유저가 특정 미션에 대해 수행한 날짜와 수행시간에 대한 데이터
{ id: string, missionId: string, date: string, durationTime: string userDurationTime: string }
미션 수행정보에서 미션정보를 알 수 있으면 좋을 것 같다.
루틴 포스트
{ id: string, title: string, author: string, // userId routineId: string, createdAt: string, updatedAt: string, comments: [], likes: [], }
댓글 comment
{ id: string, text: string, author: string, // userId images: string[], createdAt: string, updatedAt: string, comments: [], // 대댓글 → 우선순위 뒤로 likes: [], // 좋아요 한 userId }
이미지 업로드 구현 여부 → 추가될 페이지: 이미지 뷰 페이지(?), 추가될 컴포넌트: 이미지 업로더
좋아요 like 삭제
{ id: string, postId: string, author: string, } { id: string, commentId: string, author: string, }
루틴 후기(리뷰) - routineReview 후순위
{ id: string, routineId: string, date: string, // Date객체 imageUrl: string, text: string, grade: string, // (만족도: 상, 중, 하 혹은 좋아요, 슬퍼요, 별로에요.. 등등) }
루틴 수행 & 미션 수행 경우의 수
- 루틴에 루틴수행을 귀속, 루틴수행에 미션수행을 귀속
- 유저에게 루틴수행을 귀속, 루틴수행에 미션수행을 귀속