콘텐츠로 이동

Pastport — 팀 피드백 (그룹 1)

Pastport의 목표는 제품 기록이 소유자가 바뀐 뒤에도 이어지게 하는 것입니다. 제품별 이력을 쌓고 공개 범위를 고르며, 구매자가 인수하면 기록을 새 소유자에게 넘기는 방식입니다. 다음 단계에서는 이 흐름을 4주 안에 구현하고, 권한과 데이터 경계를 테스트로 확인해야 합니다.

flowchart TB
    P[중고 구매자는 제품 상태와 과거 이력을 확인하기 어렵다] --> V[제품에 이력을 쌓고 다음 소유자에게 잇는다]
    V --> M[제품 등록 · 문서 확인 · 공개 이력 · 거래 · 인수 후 이전]
    M --> D[권한 · 개인정보 분리와 경합 처리 설계]
    D --> E[권한표 · 동시성 테스트 · 시나리오 A/B 증거]
    E --> Q[실패 사례와 측정 결과를 보고 우선순위 재조정]
    Q --> M

서비스 구성

기획서에 적힌 AWS 환경과 Spring Boot 구성을 옮겼습니다. 화면과 REST API는 하나의 애플리케이션에서 제공하고, 권한 확인은 서버가 맡습니다.

flowchart TB
    B[사용자 브라우저<br/>Thymeleaf 화면 · Vanilla JS] -->|HTTPS| N[AWS EC2<br/>Nginx · Spring Boot 4]
    N -->|페이지 · REST API| SEC[Spring Security<br/>JWT 쿠키 · CSRF · 권한 확인]
    SEC --> APP[Spring MVC · Thymeleaf<br/>REST API · Spring Data JPA]
    APP --> REDIS[(Redis<br/>토큰 · 차단 목록 · 요청 제한)]
    APP --> DB[(AWS RDS<br/>PostgreSQL · Flyway)]
    APP -->|권한 확인 후 임시 URL 발급| S3[(AWS S3<br/>비공개 문서 · 이미지)]
    B -.->|만료형 URL로 파일 열람| S3
    APP -->|최소 정보 · 문서 추출 요청| LLM[외부 LLM API<br/>Spring AI · Tool Calling]
    CI[GitHub Actions<br/>spotlessCheck · test · build]

원본 파일은 비공개 S3에 저장합니다. 서버가 접근 권한을 확인한 뒤 만료형 URL을 발급하며, AI 요청에는 권한 확인을 마친 최소 정보만 보냅니다.

설계에서 잘 된 점

  • 제품 ID와 기술 이력을 이어가면서 소유자 정보와 비공개 기록을 분리했습니다. 구매자가 인수를 확인해야 거래가 끝나므로 소유권이 바뀌는 시점도 분명합니다.
  • 인증 쿠키와 Redis 토큰 폐기, 비공개 파일의 Presigned URL, 부분 UNIQUE 인덱스, 일회성 이전 토큰 등 선택한 기술이 구체적입니다. 각 선택의 근거와 테스트 결과를 함께 보여주면 설계 의도를 분명히 설명할 수 있습니다.
  • AI 추출 결과를 사용자가 원본과 대조해 확정하고, AI가 품질이나 정품을 판정하지 않도록 제한했습니다. 데이터 정확성과 서비스 책임 범위를 함께 고려한 설계입니다.

우선 결정할 사항

실개발 기간은 4주지만, P0에는 거래 기능 외에도 AI 판매글·요약·질의응답, 외부 QR 이전, 자동 만료가 들어 있습니다. 먼저 시연에서 끝까지 구현할 흐름을 정하세요. 제품 등록 → 영수증 한 종류 추출·확인 → 이력 공개 선택 → 판매글 작성 → 구매자 인수 → 소유권 이전 순으로 잡으면 한 번의 거래를 보여줄 수 있습니다. AI Q&A, 자동 만료, 외부 QR 중 뒤로 미룰 기능을 고르고 범위표와 주차 계획에도 반영하세요.

그 다음에는 경합 상황의 처리 방법과 성공 조건을 표로 남기세요. 같은 시리얼의 동시 등록, 두 구매 요청의 동시 수락, 이전 토큰 재사용, 만료 작업 중복 실행마다 “최종 상태가 하나만 남는가?”를 확인할 테스트를 정하면 됩니다. 권한 테스트는 소유자·새 소유자·비회원·AI가 공개/비공개 이력과 원본 파일에 접근할 수 있는지를 나눠 작성하세요. 테스트 통과 여부와 실제로 발견한 오류·응답 시간도 기록하면 정책이 코드에서 지켜지는지 설명할 수 있습니다.

참고할 실제 서비스와 배경 자료

후속 검토 요청 프롬프트

최신 기획서와 ERD/API, 테스트 결과 또는 화면을 함께 첨부하고 아래 항목을 채워 후속 리뷰를 요청하세요. 아직 결정하지 않은 항목은 “미정”으로 표시하세요.

Pastport 팀입니다. 첨부한 최신 기획서와 구현 산출물을 읽고, 지금까지 반영한 내용을 기준으로 다음 개선점을 짚어 주세요.

[이번 버전에서 바뀐 점]
- 4주 MVP에서 끝까지 시연할 사용자 흐름:
- P1로 미룬 기능과 그 이유:
- 소유권 이전 뒤 유지되는 데이터 / 새 소유자에게 공개되지 않는 데이터:
- 경합 시나리오별 처리 방식(중복 등록·동시 수락·토큰 재사용·만료):
- 권한 테스트 결과와 통과/실패 케이스:
- 시나리오 A/B 실행 결과, 발견한 문제와 수정 전후 수치:

[리뷰 요청]
1. 제품 단위의 기록 승계가 화면·API·데이터 모델에 일관되게 구현됐는지 근거를 들어 판단해 주세요.
2. 남은 위험 중 3주 안에 사용자 흐름이나 데이터 신뢰를 가장 크게 해칠 항목 3개를 우선순위로 제시해 주세요.
3. 각 항목에 대해 상황, 해결해야 할 일, 다음 행동, 완료를 입증할 테스트나 측정값을 제안해 주세요.
4. 첨부 산출물에서 확인할 수 없는 내용은 추측하지 말고, 필요한 증거를 알려 주세요.
5. 이전 리뷰에서 지적된 내용이 실제로 해결됐는지, 해결되지 않았다면 어느 산출물을 고쳐야 하는지 짚어 주세요.