쿠폰 자동화 앱: CouponAI 개발 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 대상: 소프트웨어 개발자, 이메일 자동화 도구를 활용하고자 하는 사용자
- 난이도: 중급 (Node.js, MongoDB, LLM 기반 처리 경험 필요)
핵심 요약
- Postmark의 Inbound Email Parsing 기능을 활용해 이메일에서 쿠폰 정보 추출
- 로컬 LLM (
gemma3:4b
)을 사용해company
,offer
,expiry
,category
등의 구조화된 데이터 생성 - MongoDB에 저장된 데이터는
index.html
또는 Ngrok URL을 통해 실시간 조회 가능
섹션별 세부 요약
1. 문제 정의 및 해결 방안
- 문제: 이메일 쿠폰 정보를 수동으로 확인해야 하는 번거로움
- 해결: 사용자가 이메일을 Postmark 서버로 전달 → LLM이 데이터 추출 → MongoDB 저장
- 주요 기능: 쿠폰 정보 추출, 자동 저장, 실시간 조회
2. 개발 환경 및 설정
- 필요한 도구:
- gemma3:4b
모델 (Ollama로 로컬 실행)
- MongoDB (데이터 저장)
- Ngrok (로컬 서버 공개)
- 환경 변수 설정: PORT, MODEL, DB_CONNECTION_URL 등
- Postmark 설정: Ngrok URL을 Inbound Webhook URL로 등록
3. 아키텍처 및 흐름
- 이메일 전달: 사용자 이메일 → Postmark 서버
- LLM 처리: 이메일 텍스트 →
gemma3:4b
모델 →company
,offer
,expiry
등 JSON 형식으로 변환 - 데이터 저장: MongoDB에 저장 후
GET /offers
API 경로로 조회 가능 - 프론트엔드:
index.html
또는 Ngrok URL을 통해 쿠폰 목록 확인
4. DEMO 및 제한 사항
- DEMO 영상: [CouponAI DEMO 링크]
- 현재 상태: 로컬 환경에서만 실행 가능 (클라우드 배포 비용 고려)
- 예시 JSON 결과:
```json
{
"company": "Zomato",
"offer": "Up to 50% off on your favourite treats",
"details": "Just code ZOMATO while ordering online.",
"expiry": null,
"category": "Food"
}
```
결론
- 실무 팁: Postmark의 Inbound Email Parsing과 LLM 기반 처리를 결합해 이메일 쿠폰 추출 자동화 가능
- 실행 방법: Ollama, Ngrok, MongoDB 설치 후
npm install
및 환경 변수 설정 후 실행 - 유의사항: 로컬 LLM 실행이 필수이며, 클라우드 배포는 비용 및 성능 고려 필요