본문 바로가기
사이드 프로젝트 이모저모/굿즈 마켓플레이스 프로젝트

[project] 굿즈 마켓 플레이스 기획 - 4차

by 코헤0121 2025. 3. 6.
728x90
반응형

📝 [Project]MSA, TDD, 요구사항 및 DB 설계 정리

📅 회의 날짜: 2025. 2. 28.

🔥 최근 프로젝트 진행 상황

최근 사이드 프로젝트 회의를 통해 데이터베이스 설계를 정리하고 피드백을 반영했습니다. 이번 회의에서는 DB 스키마 개선, 오탈자 수정, 엔티티 설계 최적화 등의 작업을 진행했습니다.

✅ 주요 피드백

  1. 오탈자 수정
    • comissioncommission
    • contry_codecountry_code
    • chatter_iduser_id
    • is_active, is_authtinyint(1) 사용
    • passwordhashed_password로 변경
    • chat_message 테이블의 chat_order 제거 (생성 시간 created_at 활용)
  2. 파일 관리 방식 개선
    • fileId, fileTyperesource 테이블로 통합하여 관리
    • 커미션 견본, 배너 이미지 등의 리소스를 효율적으로 관리하기 위한 구조 고려
  3. 의뢰 요청 및 결제 프로세스 개선
    • Spring Batch를 활용하여 commission 진행 단계 관리
    • 의뢰 요청 → 결제 요청 → 결제 완료 → 작업 시작 → 작업 완료 및 전달 → 결제 금액 정산 → 후기 작성 순서로 흐름 정리
    • 신고 기능 추가
    • 에스크로 결제 시스템 도입 검토

🛠️ 주요 DB 테이블 설계

CommissionRequests (의뢰 요청)

ColumnTypeDescription

requestId (PK) UUID 기본 키
commissionId (FK) UUID 의뢰글 ID
requesterId (FK) UUID 요청자 ID
status ENUM('requested', 'in_progress', 'completed', 'cancelled') 진행 상태
createdAt TIMESTAMP 요청일
completeAt TIMESTAMP 작업마감일

CommissionReviews (후기)

Column Type Description
reviewId (PK) UUID 기본 키
commissionId (FK) UUID 의뢰글 ID
reviewerId (FK) UUID 작성자 ID
rating INT 별점 (1~5)
comment TEXT 후기 내용
createdAt TIMESTAMP 작성일

CommissionReports (신고)

Column Type Description
reportId (PK) UUID 기본 키
reportedBy (FK) UUID 신고자 ID
reportingId (FK) UUID 의뢰글 혹은 메시지 ID
reason TEXT 신고 사유
createdAt TIMESTAMP 신고 날짜
reportType ENUM('page', 'message') 신고 타입

Payments (결제 내역)

Column Type Description
paymentId (PK) UUID 기본 키
commissionId (FK) UUID 의뢰 ID
payerId (FK) UUID 결제자 ID
amount DECIMAL(10,2) 결제 금액
statusId (FK) INT PaymentStatus FK
createdAt TIMESTAMP 결제 날짜

🚀 기술적 고민

✅ DTO를 활용하는 이유

  1. DB 엔티티를 그대로 노출하지 않도록 보호
  2. API 통신 중 구조 변경에 유연하게 대응
  3. Builder 패턴을 활용하여 필요한 데이터만 전송 가능

✅ API 서버 & 컨트롤러 서버 분리

  • API 서버 → 비즈니스 로직 담당
  • 컨트롤러 서버 → 클라이언트(Web, Mobile)와 직접 소통

✅ 공통 기능 라이브러리화

  • OAuth 2.0 / JWT 인증 모듈화
  • AOP 기반 로깅 및 예외 처리 적용
  • 공통 결제 처리 모듈 구축

📌 다음 회의 (2025.03.07 17:30)

  1. API 명세서 작성
  2. 코드 컨벤션 정의
  3. 코드 리뷰
  4. 아키텍처 설계

이번 회의를 통해 프로젝트의 구조를 더욱 명확하게 다듬었으며, 다음 단계로 API 명세서 및 아키텍처 설계에 집중할 예정입니다. 앞으로의 과정도 차근차근 정리해가면서 진행할 계획입니다! 🚀

728x90
반응형