집사정보

UserInfo

// 집사정보
struct UserInfo {
    let name: String
    let email: String
    let password: String // 보안은 나중에 
    let catFamilyCode: String
}

// SNS 로그인을 고려한 사용자 정보는 나중에 연결하면서 수정

고양이정보

고양이가족정보

CatsFamilyInfo

// 고양이가족
struct CatsFamilyInfo {
    let catFamilyCode: String // 주요키이자 외래키
    var familys: [UserInfo]
    var cats: [CatsInfo] // 고양이가 추가될 수 있으므로
}

고양이정보

CatsInfo

import UIKit

// 고양이 각자
struct CatsInfo {
		let catFamilyCode: String
    let catID: Int // 고유번호
    var catPhoto: UIImage //프로필 이미지를 바꿀 수 있으니까
    var catName: String
    var catGender: Gender // 성별. 열거형으로
    var catNeutered: Bool = false// 중성화여부
    var catBirthday: Date // 생년월일
    var catMemo: String
    var catPalate: [CatPalate]
}

enum Gender {
    case female
    case male
}

고양이 기호도

CatPalate

CatItem

import UIKit

struct CatPalate {
    var catItem: CatItem
    var preferenceLevel: Float // 0.0 ~ 1.0 hate, don't like, average, like, like very much
}

struct CatItem {
    var itemKind: [CatItem]
    var itemImage: UIImage
    var itemName: String
    
}

enum CatItemKind {
    case food
    case snack
    case toy
    case sand
    case etc
}