entity AccountDetails{ profile Profile, firstName String, lastName String, password Password, securityQuestion String, securityAnswer SecurityAnswer, email String, phoneNumber String } entity Profile{ account AccountDetails, profilePic Photo, bio String, featurePhotos Album, private Boolean } entity Post { profile Profile, comment Comment, commentCount Long, timeStamp Date, scheduleTime Date, content String, photo Photo, video Video, memo Memo, likes Long, dislikes Long } entity Comment { profile Profile, timeStamp Date, content String, likes Long, dislikes Long } entity Album{ photo Photo, name String, description String, creationDate Date } entity Friend{ user Profile, friend Profile, status String, topFriend Boolean } entity Memo{ memoURL String, size Long, type String } entity Video { videoURL String, size Long, type String } entity Photo { userId Long, imageURL String, size Long, type String } relationship OneToOne { AccountDetails to User } relationship OneToOne { User to Profile } relationship OneToMany { Profile to Post } relationship OneToMany { Post to Comment } relationship OneToMany { Profile to Album } relationship ManyToMany { Album to Photo } relationship ManyToMany{ Post to Photo } relationship ManyToMany{ Post to Video } relationship ManyToMany{ Post to Memo } relationship OneToMany{ Profile to Friend{user} } relationship ManyToOne{ Friend{friend} to Profile }