BiblecardAI 앱의 라우팅 플로우 및 엔드포인트
전체 서비스 구성도
1
2
3
4
5
6
프론트엔드 (3001) → Edge Proxy (3000) → Gateway (8001) → 백엔드 서비스들
├── Auth Service (8002)
├── Image Gen Service (8010)
├── BibleCards Service (8030)
├── Payment Service (8003)
└── Notification Service (8004)
- 프론트엔드에서 포토카드 생성 요청 (“/api/photocard/prompt”)
1
2
3
4
5
6
7
8
9
10
11
12
13
프론트엔드 → /api/photocard/prompt
↓
Edge Proxy → http://localhost:8001/api/photocard/prompt
↓
Gateway → /api/photocard 매칭 (AuthMode.REQUIRED)
↓
JWT 토큰 검증 → 사용자 인증
↓
이미지 생성 서비스 (8010) → /api/photocard/prompt 처리
↓
OpenAI API 호출 → 프롬프트 생성
↓
응답: {"prompt": {"image": "생성된 프롬프트"}}
- 프론트엔드에서 이미지 생성 요청 (“/api/photocard/image”)
1
2
3
4
5
6
7
8
9
10
11
12
13
프론트엔드 → /api/photocard/image
↓
Edge Proxy → http://localhost:8001/api/photocard/image
↓
Gateway → /api/photocard 매칭 (AuthMode.REQUIRED)
↓
JWT 토큰 검증 → 사용자 인증
↓
이미지 생성 서비스 (8010) → /api/photocard/image 처리
↓
OpenAI DALL-E API 호출 → 이미지 생성
↓
응답: {"image_url": "https://openai-image-url"}
- 묵상 기록 관리
1
2
3
4
5
6
7
8
9
10
11
12
13
프론트엔드 → /api/biblecards/meditations
↓
Edge Proxy → http://localhost:8001/api/biblecards/meditations
↓
Gateway → /api/biblecards 매칭 (AuthMode.REQUIRED)
↓
JWT 토큰 검증 → 사용자 인증
↓
바이블카드 서비스 (8030) → /api/biblecards/meditations 처리
↓
SQLite DB 조작 → 묵상 CRUD
↓
응답: 묵상 데이터
- 카드 생성(이미지 포함)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
프론트엔드 → /api/biblecards/cards (POST)
↓
Edge Proxy → http://localhost:8001/api/biblecards/cards
↓
Gateway → 바이블카드 서비스 (8030)
↓
카드 DB 레코드 생성
↓
[내부 이미지 생성 호출]
바이블카드 서비스 → Gateway → 이미지 생성 서비스
↓
프롬프트 생성 → 이미지 생성 → OpenAI 이미지 URL
↓
이미지 다운로드 → 로컬 저장 (static/images/)
↓
카드 DB 업데이트 (local_image_url)
↓
응답: 완성된 카드 데이터
- 공개 갤러리 조회
1
2
3
4
5
6
7
8
9
프론트엔드 → /api/biblecards/gallery
↓
Edge Proxy → http://localhost:8001/api/biblecards/gallery
↓
Gateway → 바이블카드 서비스 (8030)
↓
공개 카드 목록 조회 (is_public=true)
↓
응답: 갤러리 카드 목록
- 로그인
1
2
3
4
5
6
7
8
9
10
11
프론트엔드 → /api/auth/login
↓
Edge Proxy → http://localhost:8001/api/auth/login
↓
Gateway → Auth 서비스 (8002)
↓
사용자 인증 → JWT 토큰 생성
↓
HTTP-only 쿠키 설정
↓
응답: 로그인 성공
- 인증이 필요한 API 호출
1
2
3
4
5
6
7
8
9
프론트엔드 → API 요청 (쿠키 자동 포함)
↓
Edge Proxy → 봇 필터링과 CORS 검증 후 Gateway로 프록시
↓
Gateway → JWT 토큰 검증
↓
토큰 유효 → 사용자 정보 헤더 추가
↓
백엔드 서비스 → 인증된 요청 처리
- 게이트웨이(8001)/api/auth/* : 인증 서비스
- /api/biblecards/* : 바이블카드 서비스
- /api/photocards/* : 이미지 생성 서비스
- /api/payment/* : 결제 서비스
- /api/notifications/* : 알림 서비스
- /api/auth/login : 로그인
- /api/auth/register : 회원가입
- /api/auth/user/* : 사용자 관리
- /health : 헬스체크
- /api/biblecards/meditations/* : 묵상 관리
- /api/biblecards/cards/* : 카드 관리
- /api/biblecards/gallery/* : 공개 갤러리
- /health : 헬스체크
- /api/prompt : 프롬프트 생성
- /api/image : 이미지 생성
- /health : 헬스체크
- (생략)
- (생략)
#python_fastapi_MSA서버_성경말씀이미지카드_자동생성_서비스
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
