[React + Spring Boot] 쇼핑몰 클론 코딩 : Part 2. DB 모델링 & 화면 구조 설계

이지연·2025년 8월 23일
post-thumbnail

개요

지난 번에는 프로젝트 방향 잡고, React랑 Spring Boot 연결 테스트까지 일단 끝냈다.
이제 진짜 본격적으로 실제 서비스 구조 잡는 작업에 들어간다.
DB랑 API, 그리고 화면 구조까지 한 번 쫙 정리해놓고 시작하는걸로!


개발 단계

사용자 시나리오 & 화면 흐름

쇼핑몰이라고 하면 결국

  • 비회원: 상품 구경, 장바구니 담기, 주문 시 로그인/가입
  • 회원: 상품 주문, 내역 확인, 마이페이지 관리
    이런 플로우가 당연히 들어감.

간단하게 흐름 써두면,

[비회원]
메인 → 상품 리스트 → 상세 → 장바구니 추가 → (로그인 필요) → 로그인/회원가입 → 주문 진행

[회원]
로그인 → 상품 탐색 → 장바구니 → 주문/결제 → 주문완료 → 마이페이지(주문조회/정보수정)

DB 모델링 (ERD 초안)

쇼핑몰에 필요한 DB 테이블은 아래와 같이 잡아보았다.

엔티티

  • users (회원정보)
  • categories (카테고리)
  • products (상품)
  • cart (장바구니)
  • orders (주문)
  • order_items (주문 상세)

관계 정리

users (1) ── (N) orders (1) ── (N) order_items (N) ── (1) products (N) ── (1) categories
users (1) ── (N) cart (N) ── (1) products

dbdiagram.io ERD 예시

https://dbdiagram.io/e/68a9cbac1e7a6119674541b6/68a9cbbb1e7a6119674542a5


API 명세 (초안)

초기 API를 아래와 같이 정리해보았다

구분MethodEndpoint설명
상품GET/api/products상품 리스트 조회
상품GET/api/products/{id}상품 상세 조회
카트GET/api/cart장바구니 조회
카트POST/api/cart장바구니 추가
카트DELETE/api/cart/{id}장바구니 삭제
주문POST/api/orders주문 생성
주문GET/api/orders/{id}주문 상세
회원POST/api/users/signup회원가입
회원POST/api/users/login로그인
회원GET/api/users/me내정보 조회

여기서 유저 인증/권한은 JWT 등으로 나중에 붙일 예정이고, 처음엔 상품/카트/회원부터 하나씩 기능 맞춰 볼 계획.


화면 구조(와이어프레임) 설계

쇼핑몰 서비스는 기본으로

  • 메인 페이지(배너/추천 상품)
  • 상품 리스트(카테고리별 보기)
  • 상품 상세(상세 설명, 장바구니 버튼)
  • 장바구니(상품 확인, 주문하기)
  • 주문/결제(배송정보/결제 클릭)
  • 마이페이지(주문내역/회원정보)
  • 로그인&회원가입

어드민 기본으로는

  • 로그인
  • 관리자 대시보드
  • 상품 관리
  • 주문 관리
  • 회원 관리

마치며

다음부터는 실제로 Spring Boot에서 Entity/Repository 만들고,
테이블 생성 → 더미 데이터 넣기 → React에서 API 데이터 받아오기로 넘어간다.
정리 끝!!

profile
Eazy하게

1개의 댓글

comment-user-thumbnail
2025년 8월 25일

저도할래여!! 대박대박띠

답글 달기