|
1 | | -# 블로그 콘텐츠 자동화 플랫폼 |
| 1 | +# 동적 워크플로우 자동화 플랫폼 |
2 | 2 |
|
3 | 3 | ### AI 기반 워크플로우 오케스트레이터를 활용한 RAG 기반 블로그 콘텐츠 자동화 시스템 |
4 | 4 |
|
|
7 | 7 | ### 목차 |
8 | 8 |
|
9 | 9 | 1. [서비스 개요](#1-서비스-개요) |
10 | | -2. [시스템 개요](#2-시스템-개요) |
| 10 | +2. [주요 기능](#2-주요-기능) |
11 | 11 | 3. [데이터 베이스 설계(ERD)](#3-데이터베이스-설계-erd) |
12 | 12 | 4. [시스템 아키텍처](#4-시스템-아키텍처) |
13 | 13 | 5. [유스케이스 다이어그램](#5-유스케이스-다이어그램) |
|
23 | 23 | ## 1. 서비스 개요 |
24 | 24 |
|
25 | 25 | 최근 커머스 업계의 AI 기반 콘텐츠 자동화 트렌드에도 불구하고, 여전히 트렌드 분석, 상품 조사, 콘텐츠 생성 및 발행 등 각 단계에서 시간 소모적인 수작업이 필요합니다. |
26 | | -본 프로젝트는 이러한 비효율을 해결하기 위해, **RAG(검색 증강 생성)** 기술을 기반으로 블로그 콘텐츠 생성의 전 과정을 자동화하는 워크플로우 플랫폼을 구축하는 것을 목표로 합니다. |
27 | 26 |
|
28 | | ---- |
| 27 | +본 프로젝트는 이러한 비효율을 해결하기 위해, 특정 도메인에 국한되지 않고 다양한 비즈니스 프로세스를 자동화할 수 있는 확장 가능한 워크플로우 플랫폼을 구축하는 것을 목표로 합니다. 초기 MVP 모델로 RAG(검색 증강 생성) 기술을 활용한 블로그 콘텐츠 자동 생성 및 발행하는 마케팅 워크플로우를 구현했습니다. |
29 | 28 |
|
30 | | -## 2. 시스템 개요 |
| 29 | +--- |
31 | 30 |
|
32 | | -본 시스템은 `Spring Boot` 기반의 오케스트레이터와 `Python(FastAPI)` 기반의 AI 워커로 구성된 **이중 레이어 아키텍처**를 채택하여, 각 서비스의 역할을 명확히 분리했습니다. |
| 31 | +## **2. 주요 기능** |
33 | 32 |
|
34 | | -* **워크플로우 자동화**: 네이버 데이터 랩의 실시간 트렌드 키워드를 자동 수집하고, 싸다구몰(1688)에서 유사도 기반 검색을 통해 관련 상품을 매칭합니다. |
35 | | -* **AI 콘텐츠 생성**: 수집된 상품 정보와 이미지를 OCR 및 번역 기술로 분석한 후, RAG 기술을 통해 SEO에 최적화된 블로그 콘텐츠를 자동 생성합니다. |
36 | | -* **관리 및 모니터링**: 관리자 전용 대시보드에서 워크플로우 실행, 스케줄 제어, 실행 이력 및 결과를 실시간 모니터링합니다. Grafana로 서버 리소스와 API 상태를 시각적으로 확인할 수 있습니다. |
| 33 | + * **워크플로우 자동화**: `Workflow → Job → Task`의 계층적 구조에 따라 복잡한 프로세스를 순차적으로 자동 실행합니다. |
| 34 | + * **대표 워크플로우**: **블로그 콘텐츠 자동 생성 및 발행** |
| 35 | + * 네이버 데이터 랩 트렌드 분석 → 싸다구몰 상품 정보 수집 → RAG 기반 AI 콘텐츠 생성 → 블로그 자동 발행 |
| 36 | + * **동적 스케줄링**: API를 통해 재배포 없이 스케줄을 실시간으로 생성, 수정, 삭제할 수 있습니다. |
| 37 | + * **데이터 파이프라이닝**: 이전 Task의 실행 결과(Output)를 다음 Task의 입력(Input)으로 동적으로 전달합니다. |
| 38 | + * **관리 및 모니터링**: 관리자 대시보드에서 워크플로우 실행 이력 및 결과를 실시간으로 모니터링하고, Grafana를 통해 서버 리소스를 시각적으로 확인합니다. |
37 | 39 |
|
38 | 40 | --- |
39 | 41 |
|
|
83 | 85 |
|
84 | 86 | ## 4. 시스템 아키텍처 |
85 | 87 |
|
86 | | -역할과 책임을 명확히 분리하기 위해 `Spring Boot`가 **Orchestrator**, `FastAPI`가 **Worker** 역할을 수행하는 이중 레이어 아키텍처를 채택했습니다. |
| 88 | +역할과 책임을 명확히 분리하기 위해 `Spring Boot`가 **Orchestrator**, `FastAPI`가 **AI Worker** 역할을 수행하는 이중 레이어 아키텍처를 채택했습니다. |
87 | 89 |
|
88 | 90 | * **Spring Boot (Orchestrator)**: `Workflow → Job → Task` 구조를 기반으로 전체 비즈니스 흐름을 제어합니다. 스케줄링(`Quartz`), 상태 관리, 데이터 영속성, 인증/인가 등 핵심 로직 담당. |
89 | 91 | * **FastAPI (Worker)**: 키워드 추출, 상품 검색, 웹 크롤링, AI 연동(RAG), OCR 등 Python 생태계 특화 작업을 담당. |
@@ -180,7 +182,7 @@ GitHub Actions 기반으로 빌드 → 테스트 → Docker 빌드 및 푸시 |
180 | 182 | Monorepo 형태로, `apps` 하위에 서비스별 디렉토리가 존재합니다. |
181 | 183 |
|
182 | 184 | ```bash |
183 | | -backend/ |
| 185 | +FlowWeaver/backend/ |
184 | 186 | ├── apps/ |
185 | 187 | │ ├── user-service/ # Java/Spring Boot 서비스 |
186 | 188 | │ └── pre-processing-service/# Python/FastAPI 서비스 |
|
0 commit comments