user: // 회원가입 할 때 저장
    email / uid:
        - nickname: String
        - profileImage: String
				- reviewCount: Number
    email / uid:
        - nickname: String
        - profileImage: String
				- reviewCount: Number  
    ...

calendar: // 캘린더 일정 추가할 때 저장
    email / uid: 
				plans:
		        planId: -> firestore의 documentId 자동 생성 // 식별자
		            contentId: String
		            startDate: String
		            endDate: String
		            title: String
		            description: String
		            address: String
		            telPhone: String
		            homePage: String
								isReviewed: Boolean // 리뷰 작성이 되었는 지
		        planId:
		            contentId: String
		            startDate: String
		            endDate: String
		            title: String
		            description: String
		            address: String
		            telPhone: String
		            homePage: String
								isReviewed: Boolean // 리뷰 작성이 되었는 지
		        planId:
		            contentId: String
		            startDate: String
		            endDate: String
		            title: String
		            description: String
		            address: String
		            telPhone: String
		            homePage: String
								isReviewed: Boolean // 리뷰 작성이 되었는 지
		    email / uid: 
		        planId:
		            contentId: String
		            startDate: String
		            endDate: String
		            title: String
		            description: String
		            address: String
		            telPhone: String
		            homePage: String
								isReviewed: Boolean // 리뷰 작성이 되었는 지
		    ...    
		
		
reviews: 리뷰 등록할 때 저장
    email / uid: 
				review:
		        reviewId: -> firestore의 documentId 자동 생성
		             contentId: String 
								 userNickName: String
								 userImageUrl: String
								 tourTitle: String
		             reviewText: String
								 schedule: String
								 address: String
		             gender: String
		             companion: String
								 generation: String
		             reviewImageUrl: String
		             rating: Number
		        reviewId: 
		             contentId: String 
								 userNickName: String
								 userImageUrl: String
								 tourTitle: String
		             reviewText: String
								 schedule: String
								 address: String
		             gender: String
		             companion: String
								 generation: String
		             reviewImageUrl: String
		             rating: Number
    email or uid: 
				review:
		        reviewId: 
		             contentId: String 
								 userNickName: String
								 userImageUrl: String
								 tourTitle: String
		             reviewText: String
								 schedule: String
								 address: String
		             gender: String
		             companion: String
								 generation: String
		             reviewImageUrl: String
		             rating: Number
    ...

liked: 좋아요 버튼 누를 때 저장
    email / uid: 
				like:
	        likedId: -> firestore의 documentId 자동 생성
	            contentId: String // 식별자
	            title: String
	            description: String
	            address: String
	            telPhone: String
	            homePage: String
							rating: Number
	        likedId:
	            contentId: String // 식별자
	            title: String
	            description: String
	            address: String
	            telPhone: String
	            homePage: String
							rating: Number
    email / uid: 
				like:
	        likedId:
	            contentId: String // 식별자
	            title: String
	            description: String
	            address: String
	            telPhone: String
	            homePage: String
							rating: Number
	    ...
// 접근 방법
// calendar 정보 배열
fireStore.collection("calendar").document(email or uid)
            .collection("planId")
// reviews 정보 배열
fireStore.collection("reviews").document(email or uid)
            .collection("reviewId")
// liked 정보 배열
fireStore.collection("liked ").document(email or uid)
            .collection("likeId")

예시 - 캘린더 구조

Untitled

Untitled

Untitled