diff --git a/README.md b/README.md
index 33308f6..c43fa8e 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,32 @@

+## π Table of Contents
+
+- [ShoppingFourU](#shoppingfouru)
+- [π₯ Team Member](#-team-member)
+- [π Architecture](#-architecture)
+- [π Convention](#-convention)
+- [π‘ API Documentation](#-api-documentation)
+- [π₯ Troubleshooting](#-troubleshooting)
+ - [λΆνμν 쿼리 μμ± λ¬Έμ ]
+ - [JWT νν° μμΈ μ²λ¦¬ λ¬Έμ ]
+- [π κΈ°λ³Έ νλ‘μ νΈ μ΄ν 보μμ ](#-κΈ°λ³Έ-νλ‘μ νΈ-μ΄ν-보μμ )
+ - [Git Β· Slack μλ¦Ό & Bot μλ¬ μ°λ]
+ - [API μ κ·Ό μ ν (Rate Limiting)]
+ - [Domain Refactoring]
+ - [ν μΈ Β· λ©€λ²μ μ μ±
λͺ¨λν]
+ - [μ£Όλ¬Έ μ λ°°μ‘μ§ κ²μ¦ κ°ν]
+ - [μ£Όλ¬Έβκ²°μ νλ‘μΈμ€ 리ν©ν λ§ & λμμ± μ μ΄]
+ - [λκ΄μ λ½ (Optimistic Lock) λμ
]
+ - [μ¬κ³ μμ½ μμ€ν
λμ
]
+ - [μ° (Wishlist) λλ©μΈ μΆκ°]
+- [π μλ‘μ΄ κΈ°μ λμ
μ¬ν λ° μ μ μ΄μ ](#-μλ‘μ΄-κΈ°μ -λμ
-μ¬ν-λ°-μ μ -μ΄μ )
+ - [μν ν μΈ μ μ΄λ©μΌ μλ¦Ό μμ€ν
λμ
]
+ - [OpenAI κΈ°λ° FAQ μ±λ΄ λμ
]
+ - [ELK + λͺ¨λν°λ§ μμ€ν
λμ
]
+
+
# ShoppingFourU
`ShoppingFourU` λ μ¨λΌμΈ μΌνλͺ° μ΄μμ νμν κΈ°λ₯λ€μ μμ νκ² κ΅¬νν E-commerce νλ«νΌμ
λλ€.
νμ κ΄λ¦¬λΆν° μν λ±λ‘, μ₯λ°κ΅¬λ, μ£Όλ¬Έ/κ²°μ κΉμ§ μ€μ μλΉμ€μ λμΌν νλ¦μ μ 곡νλ©°
@@ -35,100 +61,13 @@
## π Architecture
π ERD μ€κ³λ
-
-
-
-## π Naming Rules
-
-| νλͺ© | κ·μΉ |
-| --------- | ------------ |
-| Package | `kebab-case` |
-| Class | `PascalCase` |
-| Constant | `UPPERCASE` |
-| Method | `camelCase` |
-| Variables | `camelCase` |
-
-
-
-## π Commit Convention
-
-| Header | κΈ°λ₯ |
-| ------------ | -------------------- |
-| **Update** | λ³κ²½ μ¬ν μ
λ°μ΄νΈ |
-| **feat** | μλ‘μ΄ κΈ°λ₯ μΆκ° |
-| **fix** | λ²κ·Έ μμ |
-| **docs** | λ¬Έμ μμ |
-| **style** | μ½λ ν¬λ§·ν
|
-| **refactor** | μ½λ 리ν©ν λ§ |
-| **test** | ν
μ€νΈ μ½λ |
-| **chore** | λΉλ μ
무 μμ , ν¨ν€μ§ λ§€λμ μμ |
-| **comment** | μ£Όμ μΆκ° λ° λ³κ²½ |
-| **remove** | νμΌ, ν΄λ μμ |
-| **rename** | νμΌ, ν΄λλͺ
μμ |
-
-
-
-β μ»€λ° λ©μμ§ νμ
-
-[ν°μΌ λ²νΈ] μμ
μ ν: μμ
λ΄μ©
-
-β μμ
-
-[TKT-15] feat: λ‘κ·ΈμΈ μ μ κΈ κ²μ¦ κΈ°λ₯ μΆκ°
-
-[TKT-17] chore: λΌμ΄λΈλ¬λ¦¬ μΆκ°
-
-[TKT-23] feat: μΈμ¦/μΈκ° κΈ°λ₯ μΆκ°
-
-
-
-## π¬ Git Flow
-
-
-
-- **main** : μΆμ κ°λ₯ν νλ‘λμ
μ½λμ λΈλμΉ
-
-- **dev** : λ€μ λ²μ μ κ°λ°νλ λΈλμΉ
-
-- **feat** : μ΄μ λ¨μλ‘ κΈ°λ₯μ κ°λ°νλ λΈλμΉ
- - λΈλμΉ λ€μ΄λ°: `feat/#μ΄μλ²νΈ/[topic]`
-
-- **fix** : μ΄μ λ¨μλ‘ λ²κ·Έλ₯Ό μμ νλ λΈλμΉ
- - λΈλμΉ λ€μ΄λ°: `fix/#μ΄μλ²νΈ/[topic]`
-
-*λΈλμΉλͺ
μ Jira μμ
μ μμ±νλ©΄ μλμΌλ‘ μμ±λ©λλ€.
-
+
+## π Convention
+μμΈν 컨벀μ
μ¬νμ λ
Έμ
μ ν΅ν΄ νμΈ ν΄μ£ΌμΈμ!
+https://vivid-thyme-ac6.notion.site/Commit-Convention-2e19e3e335cc80d7bf16c7377e4ddeac?source=copy_link
-## π§© Issue Template
-
-β¨μ΄μ μ€λͺ
-
-
-
-π₯ν¬λ리μ€νΈ
-
-
-
-πκΈ°ν μ¬ν
-
-
-
-## π PR Template
-
-πμμ½(Summary)
-μ΄μ λ²νΈ : #
-
-
-
-π¨λ³κ²½ μ¬ν(Changes)
-
-
-
-π리뷰 μꡬμ¬ν
-
-
## π‘ API Documentation
@@ -139,6 +78,7 @@
[π Swagger Documentation](http://shoppingfouru.ap-northeast-2.elasticbeanstalk.com/swagger-ui/index.html)
+
## π₯ Troubleshooting
### λΆνμν 쿼리 μμ± λ¬Έμ
@@ -155,7 +95,6 @@
- 쿼리 νμ 50% κ°μ (2ν β 1ν)
----
### JWT νν° μμΈ μ²λ¦¬ λ¬Έμ
@@ -190,3 +129,136 @@ return header.substring(BEARER_PREFIX.length());
μμΈλ₯Ό λμ§μ§ μκ³ null λ°ν
- μ΄λ κ² νλ©΄ Securityμμ μΈμ¦μμ΄ ν΅κ³Όμν€κ³
Controller λ‘μ§κΉμ§ μ μμ μΌλ‘ μ λ¬λ¨
+
+
+## π κΈ°λ³Έ νλ‘μ νΈ μ΄ν 보μμ
+
+κΈ°λ³Έ νλ‘μ νΈ κ΅¬ν μ΄ν,
+μ€μ μ΄μ νκ²½μμ λ°μν μ μλ λ¬Έμ λ€μ κ°μ νκ³ **μμ μ±κ³Ό νμ₯μ±**μ μ€μ¬μΌλ‘ ꡬ쑰λ₯Ό 보μνμ΅λλ€.
+λ¨μ κΈ°λ₯ ꡬνμ λμ΄μ **μ΄μ κ΄μ μ νμ§ κ°μ **μ μ΄μ μ λ§μ·μ΅λλ€.
+
+### 1. Git Β· Slack μλ¦Ό & Bot μλ¬ μ°λ
+
+
+### 2. API μ κ·Ό μ ν (Rate Limiting)
+#### μ€κ³ λͺ©ν
+
+**1μ°¨ λ°©μ΄**
+- Global Filter κΈ°λ° IP λ¨μ μ ν
+- μ΄λΉ 100ν / μ΅λ 10,000 IP κΈ°μ€
+
+**2μ°¨ λ°©μ΄**
+- AOP κΈ°λ° Controller λ¨μ μ κ·Ό μ μ΄
+- API νΉμ±μ λ°λΌ IP / μ¬μ©μλ³ μ ν μ μ±
λΆλ¦¬ μ μ©
+
+#### Bucket4j μ ν μ΄μ
+- λ©μλλ³λ‘ μλ‘ λ€λ₯Έ μ ν μ μ±
μ μ© κ°λ₯
+- Redis μ¬μ©μ΄ μ νμ μΈ νκ²½ κ³ λ €
+- Caffeine κΈ°λ° μΊμλ‘ **κ²½λ Β· κ³ μ±λ₯ Β· λμμ± μμ μ± ν보**
+
+
+### 3. Domain Refactoring
+
+#### 1οΈβ£ ν μΈ Β· λ©€λ²μ μ μ±
λͺ¨λν
+
+#### 2οΈβ£ μ£Όλ¬Έ μ λ°°μ‘μ§ κ²μ¦ κ°ν
+
+
+### 4. μ£Όλ¬Έβκ²°μ νλ‘μΈμ€ 리ν©ν λ§ & λμμ± μ μ΄
+#### κ°μ λ νλ‘μΈμ€
+
+**μ£Όλ¬Έ μμ± API**
+- μν ꡬ맀 κ°λ₯ μ¬λΆ νμΈ
+- μ£Όλ¬Έ μ 보 μ μ₯
+ π μν: `PENDING_PAYMENT`
+
+**κ²°μ μμ± API**
+- μΈλΆ κ²°μ λͺ¨λ νΈμΆ
+- **(Transaction)**
+ - κ²°μ μ 보 μ μ₯
+ - μν μ¬κ³ μ°¨κ°
+ - μ£Όλ¬Έ μν λ³κ²½ β `PAID`
+
+> π‘
+> μΈλΆ κ²°μ API νΈμΆμ νΈλμμ
μ ν¬ν¨νμ§ μκ³ ,
+> DB λ³κ²½ λ‘μ§λ§ μμμ μΌλ‘ λ¬Άμ΄ **λ½ μ μ λ° μ±λ₯ μ νλ₯Ό λ°©μ§**
+
+
+### 5. λκ΄μ λ½ (Optimistic Lock) λμ
+
+- μν μν°ν°μ `@Version` νλ μΆκ°
+- λμ μ¬κ³ μ°¨κ° μ μ»€λ° μμ μ μΆ©λ κ°μ§
+- μΆ©λ λ°μ μ μμΈ μ²λ¦¬ ν μ¬μλ μ λ΅ μ μ©
+
+
+### 6. μ¬κ³ μμ½ μμ€ν
λμ
+
+#### λμ
μ΄μ
+- λμ μ£Όλ¬Έ νκ²½μμ μ΄κ³Ό νλ§€ λ°©μ§
+- κ²°μ μλ£ μ ꡬ맀 κΆν μ μ νμ
+
+#### νλ‘μΈμ€
+
+**μ£Όλ¬Έ μμ± μ**
+- μ¬κ³ μ°¨κ°
+- μ¬κ³ μμ½ μ 보 μ μ₯
+- μ£Όλ¬Έ μν: `PENDING_PAYMENT`
+
+**κ²°μ μ±κ³΅ μ**
+- μ¬κ³ μμ½ ν΄μ
+- μ£Όλ¬Έ μν λ³κ²½: `PAID`
+
+**κ²°μ μ€ν¨ / μμ½ λ§λ£ μ**
+- μμ½ μ 보 μμ
+- μ¬κ³ 볡ꡬ
+
+### 7. μ° (Wishlist) λλ©μΈ μΆκ°
+
+
+
+## π μλ‘μ΄ κΈ°μ λμ
μ¬ν λ° μ μ μ΄μ
+
+### 1. μν ν μΈ μ μ΄λ©μΌ μλ¦Ό μμ€ν
λμ
+
+
+#### μ΄λ©μΌ μ μ μ΄μ
+- λλΆλΆμ μ¬μ©μκ° μ΄λ©μΌμ 보μ νκ³ μμ΄ μ κ·Όμ±μ΄ λμ
+- νμκ°μ
μ μ΄λ―Έ μ΄λ©μΌ μ 보λ₯Ό μμ§νλ―λ‘
+ μΆκ° μ 보 μ
λ ₯μ΄λ μΈλΆ μλΉμ€ μ°Έμ¬λ₯Ό μꡬνμ§ μμλ λ¨
+- Slack, Discord λ±μ λ³λμ νλ‘κ·Έλ¨ μ¬μ© λ° κ³΅κ° μ°Έμ¬κ° νμνμ¬
+ μ¬μ©μ μλ¦Ό λͺ©μ κ³Ό λ§μ§ μμ μ μΈ
+- μΉ΄μΉ΄μ€ν‘ μ±λμ κ²½μ°
+ - μ¬μ
μ λ±λ‘ νμ
+ - μ λ£ λ©μμ§ λ°μ‘
+ - μΉ΄μΉ΄μ€ κ³μ κ΄λ ¨ μ 보 μΆκ° κ΄λ¦¬ νμ
+ β μ΄μ λΉμ© λ° λ³΅μ‘μ± μ¦κ°λ‘ μΈν΄ μ μΈ
+
+### 2. OpenAI κΈ°λ° FAQ μ±λ΄ λμ
+
+#### λ°μ΄ν° ꡬμ±
+- λλ©μΈλ³ μμ£Ό 묻λ μ§λ¬Έκ³Ό λ΅λ³μ **JSON νμΌλ‘ μ 리**
+- ν΄λΉ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ **λ²‘ν° μ€ν μ΄(Vector Store) μ°λ**
+
+#### κΈ°λ₯ λ²μ
+- FAQ JSON λ°μ΄ν° κΈ°λ° μ§μμλ΅ μ 곡
+- μλΉμ€ λ΄λΉ λλ©μΈ μΈ μ§λ¬Έμ λν΄μλ
+ μλ΅μ μ ννμ¬ **λΉμλμ λ΅λ³ λ°©μ§**
+
+### 3. ELK + λͺ¨λν°λ§ μμ€ν
λμ
+
+#### μν λΆλ¦¬ λ° νμ©
+
+**ELK Stack**
+- μλ¬ λ‘κ·Έ μμ§
+- μμ² νλ¦ λ° μ₯μ μμΈ μΆμ
+
+**Prometheus + Grafana**
+- EC2 λ° Docker 컨ν
μ΄λ 리μμ€ λͺ¨λν°λ§
+- CPU / λ©λͺ¨λ¦¬ / μλΉμ€ λΆν μν μ€μκ° μκ°ν
+
+#### λμ
ν¨κ³Ό
+- λ‘κ·Έμ λ©νΈλ¦μ λΆλ¦¬νμ¬ λΆμ κ°λ₯
+- μλΉμ€ μ₯μ λ°μ μ μμΈ νμ
μλ ν₯μ
+- μ΄μ κ΄μ μμ μμ€ν
μνλ₯Ό νλμ νμ
κ°λ₯
+
+