피드로 돌아가기
Dev.toBackend
원문 읽기
My Plan Before Coding
개발자들이 코딩 전 7단계 계획 프로세스를 수립해 디지털 마켓플레이스 백엔드에서 기능 크리프와 설계 재작업 방지
AI 요약
Context
개발자들이 코딩을 먼저 시작한 후 설계를 진행하면서 기능 크리프, 데이터베이스 스키마 재작업, 보안 누락 등의 문제가 발생한다.
Technical Solution
- 전략 정의 단계: 대상 사용자, 해결할 문제, 성공 기준의 3가지 질문으로 개발 방향 명확화
- MVP 정의: 인증(User/Creator 역할), 파일 관리, 결제 게이트웨이 통합, 웹훅 처리, 자동 배송, 지갑 시스템의 6가지 필수 기능 선정
- 데이터베이스 스키마 설계: User, Product, Order, Transaction, Wallet 엔티티로 구성된 관계형 모델 수립
- 배경 작업 오프로드: Celery + Redis를 사용해 이메일 발송, 결제 재검증, 다운로드 링크 생성을 메인 요청-응답 사이클 외부에서 처리
- 보안 설계: JWT/세션 기반 인증, 입력 값 검증, 서명된 URL을 통한 파일 접근 제어, API 레이트 제한
- 인프라 설정: Docker를 사용한 환경 표준화, AWS 또는 DigitalOcean 호스팅, S3/Cloudinary 자산 저장소 선택
Key Takeaway
코드 작성 이전에 전략, MVP, 데이터베이스 설계, 보안을 명시적으로 계획하면 개발 과정에서의 설계 변경과 기술 부채를 사전에 방지할 수 있다.
실천 포인트
결제, 파일 관리, 사용자 역할 분리가 필요한 마켓플레이스 시스템을 구축할 때, 코딩 시작 전에 User/Creator 역할 기반 스키마, Celery 기반 백그라운드 작업 큐, 서명된 URL 기반 파일 접근 제어를 설계하면 나중의 아키텍처 재작업을 방지할 수 있다.