From e50fea24545b20fcb8448faeb1ac201a49e1bec4 Mon Sep 17 00:00:00 2001
From: chabin37 <7chabin@gmail.com>
Date: Mon, 23 Jun 2025 22:40:06 +0900
Subject: [PATCH] =?UTF-8?q?docs:=20README.md=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EB=B0=8F=20=ED=94=84?=
=?UTF-8?q?=EB=A1=9C=EC=A0=9D=ED=8A=B8=20=EA=B0=9C=EC=9A=94=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 192 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index f13b4c7..8cde1db 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,192 @@
-# snap-it
\ No newline at end of file
+# Snap It ๐ธ๐ฎ
+
+> **์์น ๊ธฐ๋ฐ ํ๋ ์์ด ํ์ต ๊ฒ์**
+> GPS์ AR ๊ธฐ์ ์ ํ์ฉํ ํ์ ์ ์ธ ์ผ์ธ ๊ต์ก ์ฝํ
์ธ
+
+[](https://unity.com/)
+[](https://spring.io/projects/spring-boot)
+[](https://kubernetes.io/)
+[](https://fastapi.tiangolo.com/)
+
+#### ๐ ๊ด๋ จ ๋ฆฌํฌ์งํ ๋ฆฌ
+
+- **๋ฉ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ**: [snap-it](https://github.com/ChabinHwang/snap-it)
+- **K8s Manifest**: [snap-it-k8s-manifest](https://github.com/ChabinHwang/snap-it-k8s-manifest)
+- **Word2Vec Server**: [snap-it-word2vec](https://github.com/ChabinHwang/snap-it-word2vec)
+- **Word2Vec Manifest**: [snap-it-word2vec-manifest](https://github.com/ChabinHwang/snap-it-word2vec-manifest)
+
+
+## ๐ฏ ํ๋ก์ ํธ ๊ฐ์
+
+**Snap It**์ ์ ํต์ ์ธ ์ค๋ด ๊ฒ์์ ํ๊ณ๋ฅผ ๋ฒ์ด๋ GPS ๊ธฐ๋ฐ ์์น ์ ๋ณด๋ฅผ ํ์ฉํ ์ผ์ธ ํ๋ ๊ฒ์์
๋๋ค. ํ๋ ์ด์ด๋ค์ด ๋ค์ํ ์ฅ์์์ ์ค์๊ฐ์ผ๋ก ํ๋ ฅํ๊ณ ๊ฒฝ์ํ ์ ์๋ ๊ต์ก์ฉ ์ฝํ
์ธ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+### ๐ฎ ํต์ฌ ๊ฒ์ํ๋ ์ด
+
+- **AI ์ฃผ์ ์ ์ **: AI๊ฐ ์ ์ ํ ์ฃผ์ ์ ๋ฐ๋ผ ๊ฐ ํ๋ ์ด์ด์๊ฒ ๊ฐ๋ณ ์ฌ๋ฌผ ํ ๋น
+- **์๊ฐ ์ ํ ์ดฌ์**: 15์ด ์ ํ์๊ฐ ๋ด ํ ๋น๋ ์ฌ๋ฌผ ์ดฌ์ ๋ฐ ์
๋ก๋
+- **AI ๋ถ์**: AI ์ด๋ฏธ์ง ๋ถ์์ ํตํ ์ฃผ์ ์ ์ฌ๋ ํ๋จ ๋ฐ ์ ์ ์ฐ์
+- **์์ด ํ์ต**: ์ดฌ์๋ ์ฌ๋ฌผ์ ์์ด ๋จ์ด ํ์๋ก ์์ฐ์ค๋ฌ์ด ์์ด ํ์ต ํจ๊ณผ
+- **2๋ผ์ด๋ ์งํ**: ์ด 2๋ผ์ด๋ ์งํ ํ ์ต๊ณ ์ ์์ ์น๋ฆฌ
+
+### ๐ฅ ์์ฐ ์์, ์ฌ์ง
+
+- **YouTube**: [https://youtu.be/BrFO9eYzvFE](https://youtu.be/BrFO9eYzvFE)
+- **Google Drive**: [์์ฐ ๋์์](https://drive.google.com/file/d/1dnsZ7-Lw4wIsdbSmGqbYqKNzrhS9QO56/view?usp=share_link)
+
+
+
+
+
+
+## ๐ฅ ํ์
+
+
+
+
+## ์์คํ
์ํคํ
์ฒ
+
+
+
+
+
+## ์ธํ๋ผ ์ํคํ
์ณ
+
+
+
+
+### ํด๋ผ์ด์ธํธ (Unity)
+- **Unity**: 6000.0.41f
+- **AR Foundation**: AR ํ๊ฒฝ ๊ตฌ์ถ
+- **Native WebSocket**: ์ค์๊ฐ ํต์
+- **Google Cloud Vision API**: ๊ฐ์ฒด ์ธ์
+- **STOMP Protocol**: WebSocket ๋ฉ์์ง
+
+### ์๋ฒ (Spring Boot)
+- **Spring Boot**: 3.4.4
+- **Java**: 21
+- **WebSocket (STOMP)**: ์ค์๊ฐ ๊ฒ์ ์งํ
+- **OAuth2 + JWT**: ์์
๋ก๊ทธ์ธ ์ธ์ฆ
+- **ConcurrentHashMap**: ๋์์ฑ ์ ์ด
+
+### AI
+- **Google Gemini API**: ์ฃผ์ /๋ฌผ๊ฑด ๋ชฉ๋ก ์์ฑ
+- **Google Cloud Vision API**: ์ด๋ฏธ์ง ๊ฐ์ฒด ์ธ์
+- **Word2Vec (FastAPI)**: ๋จ์ด ์ ์ฌ๋ ๋ถ์
+
+### ์ธํ๋ผ & DevOps
+- **Kubernetes**: ์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
+- **ArgoCD**: GitOps ๊ธฐ๋ฐ CD
+- **GitHub Actions**: CI ํ์ดํ๋ผ์ธ
+- **Prometheus + Grafana**: ๋ชจ๋ํฐ๋ง
+- **Docker**: ์ปจํ
์ด๋ํ
+
+## ๐ ์์ํ๊ธฐ
+
+### ์ฌ์ ์๊ตฌ์ฌํญ
+
+#### Android
+- **OS**: Android 9 (Pie, API 28) ์ด์
+- **RAM**: 5GB ์ด์ ๊ถ์ฅ
+- **CPU**: Snapdragon 845 ์ด์
+
+#### iOS
+- **OS**: iOS 13.0 ์ด์
+- **RAM**: 4GB ์ด์ ๊ถ์ฅ
+- **CPU**: Apple A9 ์นฉ ์ด์
+
+### ์ค์น ๋ฐ ์คํ
+
+#### 1. ๋ฆฌํฌ์งํ ๋ฆฌ ํด๋ก
+```bash
+git clone https://github.com/ChabinHwang/snap-it.git
+cd snap-it
+```
+
+#### 2. ์๋ฒ ์คํ (๋ก์ปฌ ๊ฐ๋ฐ)
+```bash
+cd snapit-server
+./gradlew bootRun
+```
+
+#### 3. ํด๋ผ์ด์ธํธ ๋น๋
+Unity Editor์์ ํ๋ก์ ํธ๋ฅผ ์ด๊ณ :
+1. Android/iOS ํ๋ซํผ ์ค์
+2. AR Foundation ๋ฐ ํ์ํ ํจํค์ง ์ค์น
+3. ๋น๋ ๋ฐ ๋๋ฐ์ด์ค์ ์ค์น
+
+## ๐ฏ ์ฃผ์ ๊ธฐ๋ฅ
+
+### ๐ ์ธ์ฆ ์์คํ
+- **์์
๋ก๊ทธ์ธ**: Google, Kakao OAuth2 ์ง์
+- **JWT ํ ํฐ**: Access Token + Refresh Token ๋ฐฉ์
+- **WebSocket ์ธ์ฆ**: JWT ๊ธฐ๋ฐ ํธ๋์
ฐ์ดํฌ
+
+### ๐ฎ ๊ฒ์ ์์คํ
+- **์ค์๊ฐ ๋ฉํฐํ๋ ์ด**: STOMP ํ๋กํ ์ฝ ๊ธฐ๋ฐ
+- **๋ฐฉ ์์คํ
**: ๋ฐฉ ์์ฑ, ์
์ฅ, ํด์ฅ ๊ด๋ฆฌ
+- **๊ฒ์ ๋ชจ๋**: ๊ฐ์ธ์ (PERSONAL) / ํ๋ ฅ์ (COOPERATE)
+- **์ ์ ์์คํ
**: AI ์ ์ฌ๋ ๊ธฐ๋ฐ ์ ์ ์ฐ์
+
+### ๐ฑ AR ๊ธฐ๋ฅ
+- **๊ฐ์ฒด ์ธ์**: Google Vision API ์ฐ๋
+- **๊ฑฐ๋ฆฌ ์ธก์ **: ARMesh๋ฅผ ํตํ ๊ณต๊ฐ ์ธ์
+- **๋ฌผ์ฒด ์ ํ**: AR ํ๊ฒฝ์์์ ์ง๊ด์ ์ํธ์์ฉ
+
+### ๐ค AI ๊ธฐ๋ฅ
+- **์ฃผ์ ์์ฑ**: Gemini API๋ฅผ ํตํ ๊ฒ์ ์ฃผ์ ์๋ ์์ฑ
+- **์ ์ฌ๋ ๋ถ์**: Word2Vec ๋ชจ๋ธ ๊ธฐ๋ฐ ๋จ์ด ์ ์ฌ๋ ์ธก์
+- **์ด๋ฏธ์ง ๋ถ์**: ์ดฌ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ฒด ์ธ์ ๋ฐ ๋ถ์
+
+## ๐ ์ฑ๋ฅ ํ
์คํธ ๊ฒฐ๊ณผ
+
+### Word2Vec API ์ฑ๋ฅ ํ
์คํธ
+- **ํ
์คํธ ์กฐ๊ฑด**: 100,000 ์์ฒญ, 200 ๋์ ์ฐ๊ฒฐ
+- **๋จ์ผ Pod**: ํ๊ท ์๋ต์๊ฐ ~200ms
+- **2๊ฐ Pod**: ํฅ์๋ ์ฒ๋ฆฌ๋๊ณผ ์์ ์ฑ
+
+### Google Vision API ์๋ต์๊ฐ
+- **Object Detection**: ํ๊ท 0.2์ด, ์ต๋ 0.3์ด
+- **Gemini API**: ํ๊ท 0.7์ด, ์ต๋ 0.9์ด
+
+## ๐ณ Docker & Kubernetes
+
+### Docker ๋น๋
+```bash
+# ๊ฒ์ ์๋ฒ
+cd snapit-server
+docker build -t snapit-server .
+
+# Word2Vec ์๋ฒ
+cd word2vec-server
+docker build -t word2vec-server .
+```
+
+### Kubernetes ๋ฐฐํฌ
+```bash
+# ArgoCD๋ฅผ ํตํ ์๋ ๋ฐฐํฌ
+kubectl apply -f manifests/
+```
+
+## ๐ ๋ชจ๋ํฐ๋ง
+
+- **Prometheus**: ๋ฉํธ๋ฆญ ์์ง
+- **Grafana**: ๋์๋ณด๋ ์๊ฐํ
+- **์ค์๊ฐ ๋ชจ๋ํฐ๋ง**: ์์คํ
์ํ, ์์ฒญ ์, ์๋ต ์๊ฐ
+