아직 기획팀에서 와이어프레임을 작성 중입니다. [피그마링크]
저번주 오프라인 회의를 통해 1차 ERD를 완성했습니다. 계속해서 수정 사항이 생길 듯 합니다. (완벽하지 않은 와이어 프레임이라 계속 수정사항이 생길듯합니다ㅜ… )

아직 명확한 API 명세를 설계하기 어려운 부분이 있지만, 개발 일정이 계속해서 미뤄지지 않도록 각자 맡은 기능의 엔티티와 가장 기본적인 CRUD 로직을 구현 중에 있습니다.
member entity에서 추후 일반적인 member가 아닌 운영자등 추가적인 member구현을 위하여
member entity에 member가 기본적으로 가질 수 있는 값들을 @Embedded @Embeddable 을 활용하여 구현하였고 모든 클래스가 가지고 있어야 하는(대부분의 모든 클래스) createdAt, updateAt 값들은 superclass로 만들어 상속을 받아 사용하도록 했는데 **이렇게 차이를 둬서 개발하는 방법이 맞는지 실무에서 이렇게 활용하는지 궁금합니다.
모든 클래스에서 공통적으로 사용되어야 하는것들은 superclass로 구현하고
몇개의 클래스에서 공통적으로 사용되는 항목들은** @Embedded @Embeddable 로 구현 한 방식이 맞는지 궁금합니다.
코드예시
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity
public class Member extends BaseTimeEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long memberId;
@Embedded
protected MemberBase member_base;
private String provider;
private String profile_image;
private Integer total_point;
private Double member_rating;
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Embeddable
public class MemberBase {
private String email;
private String nickname;
private String password;
private String authority;
}
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {
@CreatedDate
protected LocalDateTime createdAt;
@LastModifiedDate
protected LocalDateTime updatedAt;
}