1. 프로젝트 생성
- Spring Boot DevTools: 개발 중에 자동 재시작과 라이브 리로드 등의 기능을 제공
- Lombok: 자바에서 반복되는 코드(예: getter, setter, toString 등)를 어노테이션을 통해 자동으로 생성
- Spring Web: 웹 애플리케이션을 만들기 위해 필요, RESTful 애플리케이션을 만드는 데 사용
- Spring Data JPA: 데이터베이스와의 상호작용을 추상화하고 간소화하는 데 사용, JPA를 사용하여 ORM(Object-Relational Mapping)을 구현

2. 간단한 ERD 그리기
- 셀러(판매자)는 상품을 업로드 가능
- 커스터머(구매자)는 상품을 카트에 담거나 주문 가능

3. 프로젝트 구조
1) Controller
- 클라이언트의 HTTP 요청 처리 & 응답 반환, CRUD 연산 매핑 매핑
- 사용자의 입력을 받아 서비스 계층으로 전달하고, 서비스 계층으로부터 받은 데이터를 클라이언트에게 반환
2) Entity
- 구매자, 판매자, 상품, 장바구니 등 핵심 비즈니스 엔티티
- 데이터베이스의 테이블과 매핑되는 도메인 모델 정의
3) Service
- 비즈니스 로직 메서드 제공
- 컨트롤러와 리포지토리 계층 사이에서 데이터를 처리하고 비즈니스 규칙 적용
4) Repository
- 데이터베이스와 커뮤니케이션 담당
- Spring Data JPA를 사용하여 CRUD 연산 메서드 자동 생성
5) Config
- 애플리케이션의 구성(configuration) 관리
6) Exception
- 발생 가능한 예외 처리 관리
- 사용자 정의 예외, 글로벌 예외 핸들러 등
