본문으로 건너뛰기

개발 규약

이 문서로 해결할 질문

  • Mealio에서 코드·문서를 맞추는 공통 규칙은 무엇인가요?
  • 백엔드·프론트엔드 각각 어떤 지침을 따르나요?
  • API·이벤트 계약을 변경할 때 무엇을 함께 갱신해야 하나요?

문서·코드 정합성 (핵심)

기여 가이드에서 문서·코드 정합성 원칙과 PR 절차를 확인합니다.

원칙설명
아키텍처 문서 기반아키텍처 문서에 없는 파일·경로 생성 금지
생략 금지문서에 정의된 항목 누락 금지
이름 일치문서와 다른 파일명·경로 사용 금지
동기화예외 작업 후 반드시 문서 갱신
영역아키텍처 문서
백엔드Producer 아키텍처 · Consumer 아키텍처 · server/shared/src/
프론트클라이언트 아키텍처 · client/src/app/
컴포넌트컴포넌트 구조 · client/src/components/

백엔드

항목지침
TDDProducer Controller·Service, Consumer Handler — Red-Green-Refactor 순서
모듈server/producer/.../modules/ 도메인 모듈 패턴(controller · service · dto · repository)
캐시Cache-Aside — cache.policy.ts 기준
KafkaProducer 발행, Consumer 비동기 처리·DLQ
관측성Correlation-Id, Prometheus /metrics, Sentry

상세 구조는 Producer 아키텍처Consumer 아키텍처 문서를 참고합니다.

프론트엔드

항목지침
렌더링SSG/ISR/SSR/CSR — 클라이언트 아키텍처
캐시cache.policy.ts 기준
상태React Query + Optimistic Update
접근성buildAriaLabel 단일 진입점
OAuth백엔드 주도, 프론트는 진입·세션만

상세 내용은 클라이언트 아키텍처컴포넌트 구조 문서를 참고합니다.

API·이벤트 계약

  • REST API는 Producer APIserver/producer/.../modules/ 구조를 따릅니다.
  • BFF Route Handler는 API 클라이언트/BFFclient/src/.../api/ 경로를 따릅니다.
  • 이벤트는 Observability사전 등록한 뒤 코드에 반영합니다.

Git·PR

  • PR 전에 pnpm run ci가 통과해야 합니다.
  • API 계약, 내부 명세, Docusaurus 페이지는 같은 작업 단위에서 함께 갱신합니다.
  • 상세 절차는 기여 가이드를 참고합니다.

문서 동기화

구현을 변경할 때는 아래 항목을 함께 확인·갱신합니다.

  1. 내부 아키텍처·API 계약 문서를 확인합니다.
  2. server/producer Swagger DTO와 Client Route Handler를 맞춥니다.
  3. docs/docs/ Docusaurus 페이지를 갱신합니다.
  4. (해당 시) client/src/.../globals.css를 동기화합니다.

관련 문서