Yarn Berry + Workspace 기반 모노레포 프로젝트로 구성된 디저트 주문 플랫폼입니다.
- Node.js (v20 이상)
- Yarn (v4.9.4 이상)
- backend/.env.development 삽입
- web-seller/.env.development 삽입
- web-user/.env.development 삽입
- 로컬 데이터베이스 설정 가이드: 로컬 PostgreSQL 및 Prisma ORM 관리
# 프로젝트 클론
git clone <repository-url>
cd sweet-order
# 의존성 설치(자동으로 postinstall 스크립트 실행, 이름 변경시 자동실행 안됨)
# 파일 경로에 한글이 존재하면 오류가 발생할 수 있습니다.
yarn install
# 개발 서버 시작(.env.development 환경변수 필요)
yarn backend:dev # 백엔드 개발 서버 (포트: 3000)
yarn web-user:dev # 사용자 웹 개발 서버 (포트: 3001)
yarn web-seller:dev # 판매자 웹 개발 서버 (포트: 3002)
# 데이터베이스 관리
yarn db:migrate:dev # 백엔드 개발 데이터베이스 마이그레이션
yarn db:studio:dev # 백엔드 개발 데이터베이스 스튜디오
yarn db:seed:dev # 백엔드 개발 데이터베이스 시드
yarn db:reset:dev # 백엔드 개발 데이터베이스 리셋
# 빌드 및 배포
yarn backend:build:staging # 백엔드 스테이징 빌드
yarn backend:build:production # 백엔드 프로덕션 빌드
yarn web-user:build # 사용자 웹 빌드
yarn web-seller:build # 판매자 웹 빌드
# 코드 품질 검사
yarn common:lint # ESLint 검사
yarn common:lint:fix # ESLint 자동 수정
yarn common:format # Prettier 포맷팅
yarn common:format:check # Prettier 포맷팅 검사프로젝트는 GitHub Actions를 통한 태그 기반 자동 배포 시스템을 사용합니다.
각 프로젝트별 태그 형식은 다음과 같습니다:
| 프로젝트 | 태그 형식 | 배포 플랫폼 | 예시 |
|---|---|---|---|
backend |
backend/staging-* |
AWS App Runner | backend/staging-v1.0.0 |
web-user |
web-user/staging-* |
Vercel | web-user/staging-v1.0.0 |
web-seller |
web-seller/staging-* |
Vercel | web-seller/staging-v1.0.0 |
태그 구조: {프로젝트명}/{환경}-{버전}
- 프로젝트명:
backend,web-user,web-seller - 환경:
staging(현재 지원) - 버전: 자유 형식 (예:
v1.0.0,v1.0.1,2024.01.01)
- 태그 생성 및 푸시
- GitHub Actions 워크플로우 자동 실행
- 프로젝트별 배포 플랫폼으로 자동 배포
자세한 배포 설정 및 가이드는 다음 문서를 참고하세요:
- Vercel 배포 가이드: 웹 애플리케이션 배포
이 문서는 Sweet Order 프로젝트의 협업 규칙을 정의합니다. 모든 팀원은 이 규칙을 준수해야 합니다.
-
main 브랜치 보호
main브랜치로 직접 push는 금지됩니다.- GitHub의 브랜치 보호 규칙이 설정되어 있습니다.
main브랜치로의 변경은 반드시staging브랜치를 거쳐야 합니다.
-
staging 브랜치
- 개발 및 테스트를 위한 통합 브랜치입니다.
- 모든 기능 개발은
staging브랜치로 병합됩니다.
-
hotfix 처리
- 긴급한 버그 수정이 필요한 경우,
hotfix브랜치에서 작업 후staging브랜치로 직접 push 가능합니다. - 프로덕션 환경에 즉시 반영이 필요한 경우에만 사용합니다.
- 긴급한 버그 수정이 필요한 경우,
-
일반 기능 개발
- 모든 기능 개발은 기능별 브랜치를 생성하여 진행합니다.
- 작업 완료 후
staging브랜치로 **Pull Request(PR)**를 생성합니다. - PR 승인 후 병합됩니다.
main (보호됨)
↑
staging (통합 브랜치)
↑
feature/xxx (기능 브랜치)
hotfix/xxx (긴급 수정 브랜치)
브랜치 이름은 기능의 목적을 명확히 표현해야 합니다.
{타입}/{기능-설명}
feature/: 새로운 기능 개발hotfix/: 긴급 버그 수정fix/: 일반 버그 수정refactor/: 코드 리팩토링docs/: 문서 수정chore/: 빌드, 설정 등 기타 작업
- 브랜치가 최신
staging브랜치를 기반으로 생성되었는지 확인 - 코드가 정상적으로 작동하는지 확인
-
yarn run common:lint명령어를 통과했는지 확인 -
yarn run common:format:check명령어를 통과했는지 확인
[COMMON]- Common[WEB-SELLER]- Web Seller[WEB-USER]- Web User[BE]- Backend
[TASK]- 일반 작업[BUG]- 버그 수정[FEATURE]- 새로운 기능 추가[CHORE]- 빌드, 설정 등 기타 작업[DOCS]- 문서 작성/수정[FIX]- 버그 수정[REFACTOR]- 코드 리팩토링[REMOVE]- 코드 삭제[UI]- UI 변경[QUESTION]- 질문/의견
[COMMON][CHORE]: 의존성 패키지 업데이트
[WEB-SELLER][UI]: 상품 등록 폼 UI 개선
[WEB-USER][FEATURE]: 로그인 페이지 구현
[BE][FIX]: 인증 토큰 만료 처리 수정
- 프로젝트 구조 가이드: 프로젝트 전체 구조 및 디렉토리 설명
- Yarn Berry PnP 가이드: Yarn Berry PnP 설정 및 사용법 (이전 버전)
- Yarn Berry node_modules 가이드: Yarn Berry node_modules 설정 및 사용법 (현재 적용)
- 통합 인증 가이드: 통합 인증 시스템 사용법
- 통합 플랫폼 인증 가이드: 통합 플랫폼 인증 시스템 사용법
- 스토어 등록(3단계) 가이드: 스토어 등록(3단계) 가이드
- 통합 인증 플로우 차트: 통합 인증 시스템 플로우 차트
- AWS 인프라 운영 단계 문제점 분석: AWS 인프라 운영 단계에서 발생할 수 있는 문제점 분석
- 백엔드 운영 단계 문제점 분석: 백엔드 운영 단계에서 발생할 수 있는 문제점 분석
- Backend README: 백엔드 서비스 개요 및 사용법
- Backend 기술 스택 가이드: 백엔드 기술 스택 및 아키텍처
- Backend 환경변수 가이드: 환경변수 관리 및 보안 정책
-
Web User README: 사용자 웹 애플리케이션 개요 및 사용법
-
Web User 기술 스택 가이드: 사용자 웹 애플리케이션 기술 스택
-
Web User 에러와 로딩 처리 가이드: 에러 처리 및 로딩 상태 관리
-
Web Seller README: 판매자 웹 애플리케이션 개요 및 사용법
-
Web Seller 기술 스택 가이드: 판매자 웹 애플리케이션 기술 스택
- AWS RDS 가이드: AWS RDS PostgreSQL 설정 및 관리
- AWS App Runner 가이드: AWS App Runner 백엔드 배포 가이드
- AWS Region 가이드: AWS 리전 선택 가이드
- AWS Route53 가이드: AWS Route53 도메인 설정 가이드
- AWS S3(정적), CloudFront(CDN) 가이드: AWS S3(정적), CloudFront(CDN) 설정 가이드
- Vercel 배포 가이드: Vercel 배포 가이드