피움뜰 — 프로그램 설계 개요

쇼핑몰(상품·주문·결제·배송)과 커뮤니티(게시글·댓글·좋아요), 관리자·쿠폰·마일리지 등을 제공하는 웹·모바일 서비스입니다. 저장소는 웹 애플리케이션모바일 WebView 셸로 구성됩니다.


1. 시스템 구성 요소

구분디렉터리역할
piumddeul-webNext.js(App Router) UI·API Routes, Prisma·MySQL, NextAuth(소셜·이메일 등)
모바일piumddeul-appExpo 앱. WebView로 웹을 로드하고 푸시·OTA 등 네이티브 연동

2. 아키텍처

  • 클라이언트: 브라우저 직접 접속 또는 앱 내 WebView.
  • 서버: Next.js가 페이지·API를 제공하고 Prisma로 MySQL에 접근합니다.
  • 푸시·파일: 푸시 토큰·업로드·결제 결과 웹훅 등은 API와 외부 연동(결제·배송사 등)으로 처리합니다. 호스트·키는 문서에 적지 않습니다.

3. 데이터 흐름

  1. 회원·인증: User와 NextAuth 세션. 소셜·자격 증명 로그인, 주소·푸시 토큰 등 부가 정보가 사용자에 연결됩니다.
  2. 커머스: Product·카테고리·옵션·Basket·Order·결제 상태·클레임·QNA·리뷰·찜(Wish) 등이 API를 통해 CRUD됩니다.
  3. 커뮤니티·운영: Post·댓글·좋아요, 신고·차단, 게시판·태그 검색, 관리자 주문·상품·쿠폰·통계 등이 동일 DB 스키마를 사용합니다.

상세 모델은 piumddeul-web/prisma/schema.prisma를 기준으로 합니다.

3.1 요청·저장 흐름(도식)

3.2 핵심 엔티티 관계(요약)

(실제 스키마는 주문–상품 N:M 링크 테이블 등으로 정규화되어 있습니다.)


4. 웹 애플리케이션 레이어 (piumddeul-web)

4.1 기능 영역(예)

  • 스토어: 상품 목록·상세·검색·필터·장바구니·주문·결제(완료·취소·상태·웹훅·영수증 등)·배송 조회
  • 사용자: 프로필·주소·찜·쿠폰·마일리지·푸시 토큰·비밀번호 재설정
  • 커뮤니티: 게시글·댓글·좋아요·검색·태그·신고·차단
  • 콘텐츠: 게시판·고객 문의 등
  • 관리자: 대시보드 통계, 주문·상품·사용자·쿠폰·모더레이션, 주문 엑스포트 등

4.3 인증·보호

  • NextAuth와 라우트 보호로 관리자·일반 사용자 영역을 구분합니다.

5. 모바일 앱 레이어 (piumddeul-app)

5.1 WebView 브릿지(메시지 흐름, 요약)

  • 로드 URL·푸시 등록 경로는 빌드·배포 설정에 따릅니다.

6. 디렉터리 구조(루트)

PROD_piumddeul/
├── piumddeul-web/
├── piumddeul-app/
└── ReadMe.md

7. 기술 스택 요약

영역기술
Next.js 16, React 19, TypeScript, Prisma, MySQL, NextAuth, Tailwind, Ant Design·Mantine·Radix 등
Expo, React Native, WebView, 알림·OTA 모듈(프로젝트 의존성 기준)