Skip to content

Commit 435fb3f

Browse files
committed
chore: add .gitignore to develop branch
2 parents cca062f + 49070a9 commit 435fb3f

File tree

2 files changed

+178
-0
lines changed

2 files changed

+178
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
venv

README.md

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# Open Wallet AI – Unified API Server
2+
> 2025년 11월 25일 업데이트
3+
4+
Open Wallet AI는 영수증 OCR, 소비 분석, 트렌드 요약, LLM 기반 개인 소비 리포트 생성 기능을 제공하는 **통합 FastAPI 서버**입니다.
5+
6+
본 저장소는 AI 기능을 모듈로 구성하고, 모든 기능을 하나의 서버에서 사용할 수 있도록 통합한 버전을 포함하고 있습니다.
7+
8+
---
9+
10+
# 주요 기능
11+
12+
### 1. OCR 영수증 분석
13+
Google Vision OCR 기반으로 영수증에서 다음 정보를 자동 추출:
14+
- 가맹점명
15+
- 결제금액
16+
- 결제일자
17+
- 품목 리스트
18+
- 카테고리 추천
19+
20+
---
21+
22+
### 2. 소비 통계 분석
23+
내부 DB의 거래기록을 기반으로:
24+
- 총 지출액
25+
- Top 가맹점
26+
- 일별 지출 추세
27+
28+
등을 계산하여 반환합니다.
29+
30+
---
31+
32+
### 3. 외부 소비 트렌드 요약
33+
외부 소비 분석 API를 호출하여
34+
**요약된 트렌드 텍스트**를 제공합니다.
35+
36+
---
37+
38+
### 4. 개인 소비 분석 리포트
39+
사용자의 전체 소비 패턴을 기반으로
40+
Qwen 모델이 **요약 리포트**를 생성합니다.
41+
42+
---
43+
44+
# How to Use
45+
46+
## 1. 설치
47+
48+
```bash
49+
git clone https://github.com/OpenWallet-2025/OpenWallet_AI.git
50+
cd OpenWallet_AI
51+
pip install -r requirements.txt
52+
```
53+
54+
---
55+
56+
## 2. FastAPI 서버 실행
57+
58+
```bash
59+
uvicorn main:app --reload
60+
```
61+
62+
### Swagger UI
63+
http://127.0.0.1:8000/docs
64+
65+
### ReDoc
66+
http://127.0.0.1:8000/redoc
67+
68+
---
69+
70+
# API 명세서
71+
72+
## Health Check
73+
`GET /health`
74+
75+
```json
76+
{ "status": "ok" }
77+
```
78+
79+
---
80+
81+
## OCR – 영수증 분석
82+
`POST /api/ocr-receipt`
83+
84+
Request (multipart/form-data):
85+
86+
| 필드 | 설명 |
87+
|-----|------|
88+
| file | 영수증 이미지 |
89+
90+
Response Example:
91+
92+
```json
93+
{
94+
"merchant": "스타벅스",
95+
"amount": 5800,
96+
"date": "2025-11-24",
97+
"items": [{ "name": "콜드브루", "price": 4800 }],
98+
"category": "카페/음료",
99+
"raw_text": "..."
100+
}
101+
```
102+
103+
---
104+
105+
## 소비 통계 API
106+
107+
### 총 지출액
108+
`GET /api/spend/total`
109+
110+
### Top 가맹점
111+
`GET /api/spend/top-merchants`
112+
113+
### 소비 추세
114+
`GET /api/spend/trend`
115+
116+
---
117+
118+
## 소비 트렌드 요약
119+
`GET /api/trend-summary`
120+
121+
---
122+
123+
## 개인 소비 리포트 (LLM)
124+
`POST /api/report`
125+
126+
```json
127+
{
128+
"user_id": "user123",
129+
"start_date": "2025-11-01",
130+
"end_date": "2025-11-25"
131+
}
132+
```
133+
134+
---
135+
136+
# Branch 전략 (Git Flow)
137+
138+
본 프로젝트는 Git Flow 전략을 따릅니다.
139+
140+
| Branch | 역할 | 설명 |
141+
|--------|------|------|
142+
| **main** | 배포용 | 실제 서비스 배포 가능한 안정 버전. 직접 커밋 금지 |
143+
| **develop** | 개발 통합 | feature 브랜치가 모두 머지되는 통합 개발 브랜치 |
144+
| **feature/** | 기능 개발 | develop에서 분기 → 기능 개발 → 다시 develop에 머지 |
145+
| **release/** | 배포 준비 | 배포 전 QA, 문서 정리, 테스트. 기능 추가 금지 |
146+
| **hotfix/** | 긴급 수정 | 배포 후 발견된 버그 수정용. main에서 분기 후 main+develop 둘 다 머지 |
147+
148+
---
149+
150+
# Merge한 브랜치 정보
151+
152+
Merge한 브랜치:
153+
```
154+
feature/5-ai-unified-api-server
155+
```
156+
157+
내용:
158+
- OCR + 소비 통계 + 트렌드 요약 + LLM 리포트 기능 통합
159+
- FastAPI 기반 서버 구축
160+
- curl 및 Swagger 테스트 완료
161+
- API 명세서 업데이트
162+
163+
---
164+
165+
# 프로젝트 구조
166+
167+
```
168+
OpenWallet_AI/
169+
170+
├── ocr/ # OCR 관련 로직
171+
├── report/ # LLM 소비 리포트
172+
├── main.py # FastAPI 통합 서버
173+
├── tool.py # 소비 통계 유틸
174+
├── trend_summary.py # 트렌드 요약 기능
175+
├── requirements.txt
176+
└── README.md
177+
```

0 commit comments

Comments
 (0)