728x90
반응형
📝 [Project]MSA, TDD, 요구사항 및 DB 설계 정리
📅 회의 날짜: 2025. 2. 28.
🔥 최근 프로젝트 진행 상황
최근 사이드 프로젝트 회의를 통해 데이터베이스 설계를 정리하고 피드백을 반영했습니다. 이번 회의에서는 DB 스키마 개선, 오탈자 수정, 엔티티 설계 최적화 등의 작업을 진행했습니다.
✅ 주요 피드백
- 오탈자 수정
- comission → commission
- contry_code → country_code
- chatter_id → user_id
- is_active, is_auth → tinyint(1) 사용
- password → hashed_password로 변경
- chat_message 테이블의 chat_order 제거 (생성 시간 created_at 활용)
- 파일 관리 방식 개선
- fileId, fileType을 resource 테이블로 통합하여 관리
- 커미션 견본, 배너 이미지 등의 리소스를 효율적으로 관리하기 위한 구조 고려
- 의뢰 요청 및 결제 프로세스 개선
- 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를 활용하는 이유
- DB 엔티티를 그대로 노출하지 않도록 보호
- API 통신 중 구조 변경에 유연하게 대응
- Builder 패턴을 활용하여 필요한 데이터만 전송 가능
✅ API 서버 & 컨트롤러 서버 분리
- API 서버 → 비즈니스 로직 담당
- 컨트롤러 서버 → 클라이언트(Web, Mobile)와 직접 소통
✅ 공통 기능 라이브러리화
- OAuth 2.0 / JWT 인증 모듈화
- AOP 기반 로깅 및 예외 처리 적용
- 공통 결제 처리 모듈 구축
📌 다음 회의 (2025.03.07 17:30)
- API 명세서 작성
- 코드 컨벤션 정의
- 코드 리뷰
- 아키텍처 설계
이번 회의를 통해 프로젝트의 구조를 더욱 명확하게 다듬었으며, 다음 단계로 API 명세서 및 아키텍처 설계에 집중할 예정입니다. 앞으로의 과정도 차근차근 정리해가면서 진행할 계획입니다! 🚀
728x90
반응형
'사이드 프로젝트 이모저모 > 굿즈 마켓플레이스 프로젝트' 카테고리의 다른 글
[project] 굿즈 마켓 플레이스 - 5차 (0) | 2025.03.13 |
---|---|
[project] 굿즈 마켓 플레이스 기획 - 3차 (1) | 2025.02.24 |
[project] 굿즈 마켓 플레이스 기획 - 2차 (1) | 2025.02.20 |
[project] 굿즈 마켓 플레이스 기획 - 1차 (0) | 2025.02.18 |