diff --git a/README.md b/README.md
index 86baa76a..d68902f2 100644
--- a/README.md
+++ b/README.md
@@ -18,12 +18,18 @@
Splanet: https://www.splanet.co.kr
+---
+
## ๐ ๋ชฉ์ฐจ
-* [Introduction](#-ํ๋ก์ ํธ-๊ฐ์)
-* [์ฃผ์ ๊ธฐ๋ฅ](#-์ฃผ์-๊ธฐ๋ฅ)
-* [๊ธฐ์ ์คํ](#-๊ธฐ์ -์คํ)
-* [๊ฐ๋ฐ ๊ด๋ จ ๋ธ๋ก๊ทธ](#-๊ฐ๋ฐ-๊ด๋ จ-Blog)
-* [ํ์](#-ํ์)
+* [์๊ฐ](#์๊ฐ)
+* [์ฃผ์ ๊ธฐ๋ฅ](#์ฃผ์-๊ธฐ๋ฅ)
+* [๊ธฐ์ ์คํ](#๊ธฐ์ -์คํ)
+* [์์คํ
์ํคํ
์ฒ](#์์คํ
-์ํคํ
์ฒ)
+* [๋ฐ์ดํฐ๋ฒ ์ด์ค ERD](#๋ฐ์ดํฐ๋ฒ ์ด์ค-erd)
+* [๋ชจ๋ํฐ๋ง](#๋ชจ๋ํฐ๋ง)
+* [AI ํ์ธ ํ๋](#ai-ํ์ธ-ํ๋)
+* [๊ฐ๋ฐ ๊ด๋ จ ๋ธ๋ก๊ทธ](#๊ฐ๋ฐ-๊ด๋ จ-๋ธ๋ก๊ทธ)
+* [ํ์](#ํ์)
---
@@ -106,6 +112,8 @@
---
+
+
## ๐ป ๊ธฐ์ ์คํ
| **๋ถ์ผ** | **์ฌ์ฉ ๊ธฐ์ ** |
@@ -116,8 +124,12 @@
| **Infrastructure** | ![Amazon EC2](https://img.shields.io/badge/Amazon%20EC2-FF9900?style=for-the-badge&logo=amazonec2&logoColor=white) ![AWS ELB](https://img.shields.io/badge/AWS%20ELB-8a2be2?style=for-the-badge&logo=awselasticloadbalancer&logoColor=white) ![Docker Compose](https://img.shields.io/badge/Docker%20Compose-2496ED?style=for-the-badge&logo=docker&logoColor=white) |
| **Monitoring** | ![Prometheus](https://img.shields.io/badge/Prometheus-E6522C?style=for-the-badge&logo=prometheus&logoColor=white) ![Grafana](https://img.shields.io/badge/Grafana-F46800?style=for-the-badge&logo=grafana&logoColor=white) ![AWS CloudWatch](https://img.shields.io/badge/AWS%20CloudWatch-FF4F8B?style=for-the-badge&logo=amazonaws&logoColor=white) |
+
+
---
+
+
## ๐ ์์คํ
์ํคํ
์ฒ
@@ -135,6 +147,12 @@
| **๋ฌด์ค๋จ ๋ฐฐํฌ (Blue-Green Deployment)** | **Elastic Load Balancer (ELB)** ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๊ฐ์ ๋ฐฑ์๋ ์ธ์คํด์ค(Blue์ Green)๋ก ํธ๋ํฝ์ ๋ถ์ฐ์์ผ ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ์ง์ํฉ๋๋ค.
์๋ก์ด ๋ฒ์ ์ด ๋ฐฐํฌ๋ ๋, ๋จผ์ ํ๋์ ์๋ฒ ์ปจํ
์ด๋๊ฐ ์
๋ฐ์ดํธ๋๊ณ , ์ดํ ELB๋ฅผ ํตํด ํธ๋ํฝ์ ์ ์ปจํ
์ด๋๋ก ์ ํํ์ฌ ์ฌ์ฉ์์๊ฒ ๋๊น ์๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. (๋ค์ดํ์ 1์ด ๋ฏธ๋ง) |
| **CI/CD ํ์ดํ๋ผ์ธ** | GitHub Actions๋ฅผ ํตํด ์๋ํ๋ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ์์ผ๋ฉฐ, ์ฝ๋ ์
๋ฐ์ดํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค Vercel๊ณผ EC2์์ ์๋์ผ๋ก ๋น๋ ๋ฐ ๋ฐฐํฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ ๊ณผ์ ์ ํจ์จ์ฑ์ ๋์์ต๋๋ค. |
+
+
+---
+
+
+
## ๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ERD
@@ -153,49 +171,68 @@
| **๊ตฌ๋
(Subscription)** | `subscription` ํ
์ด๋ธ์ ์ฌ์ฉ์์ ๊ตฌ๋
์ํ๋ฅผ, `payment` ํ
์ด๋ธ์ ๊ตฌ๋
๊ฒฐ์ ๋ด์ญ์ ๊ธฐ๋กํฉ๋๋ค. |
| **๋๊ธ(Comment)** | `comment` ํ
์ด๋ธ์์ ๊ฐ `user`์ ์์ฑ๋ ๋๊ธ์ ๊ด๋ฆฌํ๋ฉฐ, ์์ฑ์์ ์ ์ ID๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. |
-## ๐ฅ๏ธ ๋ชจ๋ํฐ๋ง
+
+
+---
-
-
-Amazon CloudWatch์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๊ณผ Log ๊ทธ๋ฃน, Log๋ฅผ ๋จ๊ธฐ๋ ์ฝ๋๋ฅผ ์ด์ฉํด ๊ตฌํํ์ต๋๋ค. Docker Compose ๊ธฐ๋ฐ์ผ๋ก ์น์ด ์๋ํ์ฌ, Docker ๋ด๋ถ ๋ฌธ์์ ๋ก๊ทธ๋ฅผ ๋์์ ๋ณต์ฌํ๋ ํ์์ผ๋ก ๋ก๊น
์ ๊ตฌํํ์ต๋๋ค.
+## ๐ฅ๏ธ ๋ชจ๋ํฐ๋ง
+
+
+
+[๐ฅ๏ธ ๋ชจ๋ํฐ๋ง ๐ฅ๏ธ](https://monitoring.splanet.co.kr/d/fe38bkz9ydkowa/8-splanet?from=now-7d&to=now&timezone=browser)
+
+#### ๐ Viewer Account ๐
+> **ID**: splanet
+> **PW**: splanet3
+>
+
+`Amazon CloudWatch`๋ฅผ ํ์ฉํ์ฌ ์์คํ
์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ , Log ๊ทธ๋ฃน๊ณผ ์ฌ์ฉ์ ์ ์ Log๋ฅผ ์์ฑํด ์๋น์ค ์ํ์ ์ค๋ฅ ๋ก๊ทธ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
+
+`Docker Compose`๋ฅผ ํตํด ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑํ๋ฉฐ, ๊ฐ ์ปจํ
์ด๋์ ๋ด๋ถ ๋ก๊ทธ๋ฅผ ์ธ๋ถ ํ์ผ๋ก ๋๊ธฐํํ์ฌ **์ค์๊ฐ ๋ก๊ทธ ์์ง**์ด ๊ฐ๋ฅํฉ๋๋ค.
-[๐ฅ๏ธ๋ชจ๋ํฐ๋ง ์ฃผ์๐ฅ๏ธ](http://monitoring.splanet.co.kr)
-์ ๋ชจ๋ํฐ๋ง ์ฃผ์์์ ๋ก๊ทธ์ธ ์
-- **ID**: splanet
-- **PW**: splanet3
-
-(viewer ๊ถํ)์ผ๋ก ๋ก๊ทธ์ธ ํ์๊ณ , **Dashboard** -> **splanet**์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค!
+`Grafana`์ `Prometheus`๋ฅผ ๊ฒฐํฉํ์ฌ ์๊ฐํ๋ ๋์๋ณด๋๋ฅผ ์ ๊ณตํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ์ธํ๋ผ์คํธ๋ญ์ฒ์ ๋ค์ํ ๋ฉํธ๋ฆญ์ **์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋ง**ํฉ๋๋ค.
+
+์ด๋ฅผ ํตํด **CPU ์ฌ์ฉ๋**, **๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋**, **๋คํธ์ํฌ ํธ๋ํฝ**, **์์ฒญ ์** ๋ฑ ์ฃผ์ ์ฑ๋ฅ ์งํ๋ฅผ ์ง๊ด์ ์ผ๋ก ํ์
ํ ์ ์์ต๋๋ค.
+
+์ด๋ฌํ **๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊ทธ ๊ด๋ฆฌ ์์คํ
**์ ํตํด ์์คํ
์์ ์ฑ๊ณผ ์๋น์ค ๊ฐ์ฉ์ฑ์ ๋์์ต๋๋ค.
+
+
+
+
+
### ๊ฐ ํญ๋ชฉ ์ค๋ช
| ํญ๋ชฉ | ์ค๋ช
|
|--------------------------|----------------------------------------------------------------------|
-| **MAU (Monthly Active Users)** | ์ต๊ทผ 30์ผ๊ฐ์ ์๊ฐ ํ์ฑ ์ฌ์ฉ์ ์๋ฅผ ๋ํ๋
๋๋ค. ๊ฐ์ด 12๋ก ํ์๋๊ณ ์์ต๋๋ค. |
-| **DAU (Daily Active Users)** | ์ต๊ทผ 7์ผ๊ฐ์ ์ผ๊ฐ ํ์ฑ ์ฌ์ฉ์ ์๋ฅผ ๋ํ๋
๋๋ค. ๊ฐ์ด 8๋ก ํ์๋ฉ๋๋ค. |
+| **MAU (Monthly Active Users)** | ์ต๊ทผ 30์ผ๊ฐ์ ์๊ฐ ํ์ฑ ์ฌ์ฉ์ ์๋ฅผ ๋ํ๋
๋๋ค. |
+| **DAU (Daily Active Users)** | ์ต๊ทผ 7์ผ๊ฐ์ ์ผ๊ฐ ํ์ฑ ์ฌ์ฉ์ ์๋ฅผ ๋ํ๋
๋๋ค. |
| **์ํ์ฝ๋ ์งํ** | 1์๊ฐ ๊ธฐ์ค์ผ๋ก ์ฑ๊ณต ์์ฒญ(success_requests), ํด๋ผ์ด์ธํธ ์๋ฌ(client_error_requests), ๋ฆฌ๋๋ ์
์์ฒญ(redirect_requests)์ ๋น์จ์ ๋ํ๋
๋๋ค. |
| **๋์ ์ ์์** | ์ต๊ทผ 24์๊ฐ ๋์์ ๋์ ์ ์ ์ฌ์ฉ์ ์๋ฅผ ํ์ํฉ๋๋ค. |
| **DB Connections** | ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ํ๋ฅผ ๋ํ๋
๋๋ค. ํน์ ์๊ฐ๋์ ์ฐ๊ฒฐ ์๊ฐ ์ฆ๊ฐํ๋ ํจํด์ ๋ณด์ฌ์ค๋๋ค. |
-| **DB ๋น ๊ณต๊ฐ** | RDS์ **FreeStorageSpace** ์งํ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์ฅ ๊ณต๊ฐ์ ๋ํ๋
๋๋ค. ํ์ฌ๋ ์ฝ 20GB์์ ์ฌ์ฉ ์ค์
๋๋ค. |
+| **DB ๋น ๊ณต๊ฐ** | RDS์ **FreeStorageSpace** ์งํ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์ฅ ๊ณต๊ฐ์ ๋ํ๋
๋๋ค. |
| **CPU ์ฌ์ฉ๋** | ์์คํ
์ CPU ์ฌ์ฉ๋์ ๋ํ๋ด๋ฉฐ, ์๊ฐ๋๋ณ CPU ์ฌ์ฉ๋ฅ ๋ณํ๋ฅผ ๋ณด์ฌ์ค๋๋ค. |
| **๋คํธ์ํฌ ์์ฒญ/์์ ** | ๋คํธ์ํฌ ์์ฒญ ์์ ์์ ๋ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ๋๋ณ๋ก ๋ํ๋ด๋ฉฐ, ์์ฒญ ์์ ๋ณํ๋ฅผ ์๊ฐ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค. |
| **Request Count** | API ์์ฒญ ์๋ฅผ ๋ํ๋
๋๋ค. ์ต๊ทผ ์์ฒญ ์์ ๋ณํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ทธ๋ํ์
๋๋ค. |
-| **์ด๋น ์ฝ๊ธฐ/์ฐ๊ธฐ ์์
์** | ์์คํ
์์ ์ด๋น ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์
์๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฝ๊ธฐ ์์
์ 4.17, ์ฐ๊ธฐ ์์
์ 6.08์
๋๋ค. |
-| **๊ฒฝ๋ก๋ณ ์์ฒญ ์** | ๊ฐ API ๊ฒฝ๋ก๋ณ๋ก ์์ฒญ ์๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ์ฅ ๋ง์ด ํธ์ถ๋ ๊ฒฝ๋ก๋ค์ ๋ณด์ฌ์ค๋๋ค. ์: `/api/users/me` (33๊ฑด) |
+| **์ด๋น ์ฝ๊ธฐ/์ฐ๊ธฐ ์์
์** | ์์คํ
์์ ์ด๋น ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์
์๋ฅผ ๋ณด์ฌ์ค๋๋ค. |
+| **๊ฒฝ๋ก๋ณ ์์ฒญ ์** | ๊ฐ API ๊ฒฝ๋ก๋ณ๋ก ์์ฒญ ์๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ์ฅ ๋ง์ด ํธ์ถ๋ ๊ฒฝ๋ก ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค. ) |
-## ๐คAI(ํ์ธ ํ๋)
-#### Splanet ํ์ธ ํ๋ (Fine-Tuning)
+
-
- ๊ฐ์
+---
-Splanet์ OpenAI API๋ฅผ ํ์ฉํ์ฌ `chatGPT 4o mini` ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ง๋ฅํ ์ผ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. JSONL ํ์์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ๊ณผ ์ปจํ
์คํธ์ ๋ง๊ฒ ํ์ธ ํ๋ํฉ๋๋ค.
+
+## ๐คAI(ํ์ธ ํ๋)
-
+>Splanet์ OpenAI API๋ฅผ ํ์ฉํ์ฌ `chatGPT 4o mini` ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ง๋ฅํ ์ผ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
+>
+>JSONL ํ์์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ๊ณผ ์ปจํ
์คํธ์ ๋ง๊ฒ **fine-tunning** ์ ์งํํ์์ต๋๋ค.
+>
----
+
JSONL ํ์ต ๋ฐ์ดํฐ ํ์
@@ -263,11 +300,11 @@ Splanet์ OpenAI API๋ฅผ ํ์ฉํ์ฌ `chatGPT 4o mini` ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก
```json
{
"deviceId": "",
- "groupId": ,
+ "groupId": "",
"planCards": [
{
"title": "์ฝ์",
- "description": "์ค๋ 22์์ ์์ํ๋ ์ฝ์",
+ "description": "22์์ ์ฝ์ ๋๊ฐ๊ธฐ",
"startDate": "2024-11-13T22:00:00",
"endDate": "2024-11-13T23:00:00",
"accessibility": true,
@@ -287,6 +324,11 @@ Splanet์ OpenAI API๋ฅผ ํ์ฉํ์ฌ `chatGPT 4o mini` ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก
---
์ ๊ณผ์ ์ ํตํด Splanet ํฅ์๋ ์ผ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์๋ ์ต์ ํ๋ ํ์ธ ํ๋ ๋ชจ๋ธ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
+
+---
+
+
+
## ๐ ๊ฐ๋ฐ ๊ด๋ จ Blog
| ์ค๋ช
| ๋งํฌ | ์ค๋ช
| ๋งํฌ |
@@ -295,6 +337,9 @@ Splanet์ OpenAI API๋ฅผ ํ์ฉํ์ฌ `chatGPT 4o mini` ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก
| CLOVA Speech ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ | [Blog](https://kanguk-room.notion.site/STT-CLOVA-Speech-API-123036cad7a88098b644c957f8420080?pvs=4) | ๋ชจ๋ํฐ๋ง | [Blog](https://cobalt-macaroni-f0a.notion.site/Prometheus-Grafana-134e61e098d7804da8e6ef7fcdec80f2?pvs=4) |
| Redis ์ฌ์ฉ๊ธฐ | [Blog](https://medium.com/@kanguk.ku/redis-%EC%82%AC%EC%9A%A9%EA%B8%B0-4fd3695ab0c7) | ๋ฌด์ค๋จ ๋ฐฐํฌ ๊ตฌํ | [Blog](https://kanguk-room.notion.site/132036cad7a880e68d7bd8846b25f8a6?pvs=4) |
+
+
+---