@@ -0,0 +1,208 @@
+## 크리스마스 프로모션 기능 목록 정리 🎄
+
+### 클래스, 함수 정리
+
+1. Domain
+- 1-1. `PromotionController`
+    - 전체 프로모션의 프로세스 및 입출력을 담당하는 컨트롤러 클래스
+- 1-2. `Discount`
+    - 날짜에 대한 혜택들을 확인하고, 혜택을 계산하는 클래스
+- 1-3. `Client`
+    - 주문과 날짜 정보를 기반으로 고객의 할인 혜택과 주문 가격을 계산하는 클래스
+
+2. View
+- 2-1. `InputView`
+    - 사용자로부터 입력을 받아 유효성 검사를 하고, 입력된 데이터 반환하는 함수
+- 2-2. `OutputView`
+    - 프로세스 결과 및 오류 메세지를 사용자에게 출력하는 함수
+
+
+3. Util
+- 3-1. `constants`
+    - 사용되는 매직넘버, 에러메세지, 입출력 메시지, 출력 타이틀 등 상수 정의
+- 3-2. `inputHandler`
+    - InputView 내에서 입력을 받는 로직 핸들러 정의
+- 3-3. `parseInput`
+    - 고객의 메뉴 입력을 메뉴 주문 리스트 형태로 변환하는 함수 정의
+- 3-4. `validateInput`
+    - 고객의 입력에 대한 유효성 검사 함수 정의
+4. `App` 
+    - 프로모션 컨트롤러 클래스를 실행시키는 전체
+5. `index`
+    - 로직을 수행하는 App을 실행하는 진입점
+
+
+### 구현 기능 정리
+
+**1. 식당 예상 방문 날짜 입력**
+
+- [x] 이벤트 플래너 멘트 출력
+- [x] 식당 예상 방문날짜(일) 입력 받기
+- [x] 식당 예상 방문날짜에 대한 유효성 검증
+
+**2. 주문할 메뉴와 개수 입력**
+
+- [x] 주문할 메뉴와 메뉴 개수를 입력 받는 문구 출력
+- [x] `주문할 메뉴-메뉴 개수` 형태 입력 받기
+- [x] 입력 받은 주문 메뉴와 개수에 대한 유효성 검증
+
+**3. 방문 날짜에 대한 혜택 시작 멘트 출력**
+
+- [x] 12월 (1.에서 입력받은 날짜)일 에 대한 혜택 소개 문구 출력
+
+**4. 주문 메뉴 출력**
+
+- [x] `<주문메뉴>` 출력
+- [x] `주문 메뉴-메뉴 개수` 형태로 입력 받은 내용 출력
+
+**5. 할인 전 총주문 금액 출력**
+
+- [x] `<할인 전 총주문 금액>`출력
+- [x] 주문 금액 출력
+
+**6. 증정메뉴 증정 여부 출력**
+
+- [x] `<증정 메뉴>` 출력
+- [x] `샴페인 1개` 또는 `없음` 출력
+
+**7. 혜택 내역 출력**
+
+- [x] `<혜택 내역>` 출력
+- [x] 크리스마스 디데인 할인 금액 출력
+- [x] 평일 할인 금액 출력
+- [x] 특별 할인 금액 출력
+- [x] 증정 이벤트 할인 이벤트 출력
+
+**8. 총혜택 금액 출력**
+
+- [x] `<총혜택 금액>` 출력
+- [x] 총 혜택 금액 출력
+
+**9. 할인 후 예상 결제 금액 출력**
+
+- [x] `<할인 후 예상 결제 금액>`출력
+- [x] 할인 후 예상 결제 금액 출력
+
+**10. 12월 이벤트 배지 출력**
+
+- [x] `<12월 이벤트 배지>` 출력
+- [x] 이벤트 배지가 있는 경우, 해당 배지 출력
+
+
+### 이벤트 정리
+
+1-1. 2023.12.1 ~ 2023.12.25 할인
+
+- 크리스마스 디데이 할인
+    - 12.1 기준 1,000원 할인 ~
+    - 12.25 기준 3400원 힐인
+
+1-2. 2023.12.1 ~ 2023.12.31 할인
+
+- 평일 할인 (일, 월, 화, 수, 목)
+    - 디저트 메뉴 1개당 2023원 할인
+- 주말 할인 (금, 토)
+    - 메인 메뉴 1개당 2023원 할인
+- 특별 할인 (3(일), 10(일), 17(일), 24(일), 25(월), 31(일))
+    - 총 주문 금액에서 1000원 할인
+- 증정 이벤트
+    - **할인 전 총 주문금액**이 12만원 이상일 때, 샴페인 1개 증정
+
+1-3. 이벤트 배지 부여
+
+- 총 혜택 금액에 따른 이벤트 배지
+    - 미충족 : 없음
+    - 5천원 이상 : 별
+    - 1만원 이상 : 트리
+    - 2만원 이상 : 산타
+
+1-4. 주의 사항
+
+- '할인'이라는 단어를 사용하고 있지만, 금액 '차감'에 더 가까움. %로 할인이 아닌 - 형식
+- 총 주문 금액 10,000원 이상인지 확인하고 이벤트 적용 필요
+- 음료만, 주문 시 주문 자체가 불가
+- 메뉴는 한번에 최대 20개 까지 주문 가능 
+
+
+### 흐름 정리
+
+
+**1. 식당 예상 방문 날짜 입력**
+
+- 1-1. 이벤트 플래너 소개 멘트를 출력한다.
+- 1-2. 식당 예상 방문 날짜(일)를 숫자로만 입력 받는다.
+    -1-2-1. 입력 받은 식당 예상 방문 날짜에 대한 유효성 검사를 진행한다.
+
+**2. 주문할 메뉴와 개수 입력**
+
+- 2-1. 주문할 메뉴와 메뉴 개수를 입력 받는 메세지를 출력한다.
+- 2-2. `주문할 메뉴-메뉴 개수` 형태로 입력 받는다. 
+    - 2-2-1. 입력 받은 주문 메뉴와 개수에 대한 유효성 검사를 진행한다.
+
+**3. 방문 날짜에 대한 혜택 시작 멘트 출력**
+
+- 3-1. 12월 (1.에서 입력받은 날짜)일 에 대한 혜택 소개 멘트를 출력한다.
+
+**4. 주문 메뉴 출력**
+
+- 4-1. `<주문메뉴>`를 출력한다.
+- 4-2. `주문 메뉴-메뉴 개수` 형태로 입력 받은 내용을 `주문 메뉴 (메뉴개수)개\n` 로 출력한다.
+
+**5. 할인 전 총주문 금액 출력**
+
+- 5-1. `<할인 전 총주문 금액>`을 출력한다.
+- 5-2. 금액을 출력한다. 
+    - 5-2-1. 1,000 단위당 `,` 을 붙여 출력 한다.
+
+**6. 증정메뉴 증정 여부 출력**
+
+- 6-1. `샴페인 (개수)개` 출력한다.
+    - 6-2-1. 총 주문 금액이 12만원 이상 경우 당 샴페인이 1개씩 증정된다.
+
+**7. 혜택 내역 출력**
+
+- 7-1. `<혜택 내역>` 을 출력하며, 아래 금액은 `-(금액)원` 형태로 출력한다.
+    - 7-1-1. 1,000 단위당 `,` 을 붙여 출력 한다.
+- 7-2. 크리스마스 디데인 할인 금액을 출력한다.
+- 7-3. 평일 할인 금액을 출력한다.
+- 7-4. 특별 할인 금액을 출력한다.
+- 7-5. 증정 이벤트 할인 이벤트 출력한다.
+
+**8. 총혜택 금액 출력**
+
+- 8-1. `<총혜택 금액>` 을 출력하며, 아래 금액은 `-(금액)원` 형태로 출력한다.
+    - 8-1-1. 1,000 단위당 `,` 을 붙여 출력 한다.
+- 8-2. *7. 혜택내역 출력* 의 `7-2 ~ 7-5` 에 금액을 모두 더해서 출력한다.
+
+
+**9. 할인 후 예상 결제 금액 출력**
+
+- 9-1. `<할인 후 예상 결제 금액>` 을 출력하며, 아래 금액은 `(금액)원` 형태로 출력한다. 
+    - 9-1-1. 1,000 단위당 `,` 을 붙여 출력한다.
+- 9-2. **5. 할인 전 총주문 금액 출력** 에서 **8. 총 혜택 금액 출력** 을 뺀 금액을 출력한다.
+
+**10. 12월 이벤트 배지 출력**
+
+- 10-1. `<12월 이벤트 배지>` 를 출력한다.
+- 10-2. 출력할 배지가 있는 경우, 해당 배지를 출력하며, 없는 경우 `없음`을 출력한다.
+
+
+### 🗂 파일 구조
+
+```
+┗ src       
+  ┣ Domain
+  ┃  ┣ PromotionController.js
+  ┃  ┣ Client.js
+  ┃  ┗ Discount.js
+  ┣ View
+  ┃  ┣ InputView.js
+  ┃  ┗ OutputView.js
+  ┣ Util
+  ┃  ┣ constants.js
+  ┃  ┣ parseInput.js
+  ┃  ┣ inputHandler.js
+  ┃  ┗ validateInput.js
+  ┣ App.js
+  ┗ index.js
+``` 
\ No newline at end of file

리뷰: 처음 기능 구현 목록 작성전에 흐름정리를 먼저 하는 방식으로 4주간 진행했어요 !! 이때 뭘 구현해야할지가 잘 보여서 도움이 많이 되었던 거 같아요 추천드립니다 ㅎㅎ