mirror of
https://github.com/cna-bootcamp/lifesub.git
synced 2025-12-06 16:16:22 +00:00
78 lines
2.1 KiB
Plaintext
78 lines
2.1 KiB
Plaintext
!theme mono
|
|
|
|
title 구독관리 서비스 - 논리 아키텍처
|
|
|
|
' Components
|
|
package "클라이언트 계층" {
|
|
[모바일/웹 앱] as App
|
|
}
|
|
|
|
package "회원 서비스" {
|
|
[회원 컨트롤러] as MemberController
|
|
[회원 서비스] as MemberService
|
|
[JWT 토큰 제공자] as JwtTokenProvider
|
|
database "회원 DB" as MemberDB
|
|
|
|
note right of MemberService
|
|
1. 로그인/로그아웃 처리
|
|
2. JWT 토큰 생성/검증
|
|
end note
|
|
}
|
|
|
|
package "마이구독 서비스" {
|
|
[마이구독 컨트롤러] as MySubController
|
|
[카테고리 컨트롤러] as CategoryController
|
|
[서비스 컨트롤러] as ServiceController
|
|
[마이구독 서비스] as MySubService
|
|
database "마이구독 DB" as MySubDB {
|
|
[사용자별 구독 정보]
|
|
[구독 서비스 정보]
|
|
[카테고리 정보]
|
|
}
|
|
|
|
note right of MySubService
|
|
4. 총 구독료 계산
|
|
5. 나의 구독 목록 관리
|
|
8. 구독 상세 정보 제공
|
|
9. 구독 신청 처리
|
|
10. 구독 취소 처리
|
|
11. 구독 카테고리 관리
|
|
12. 카테고리별 구독 서비스 제공
|
|
end note
|
|
}
|
|
|
|
package "구독추천 서비스" {
|
|
[구독추천 컨트롤러] as RecommendController
|
|
[구독추천 서비스] as RecommendService
|
|
[지출분석 서비스] as SpendingAnalyzer
|
|
database "구독추천 DB" as RecommendDB {
|
|
[지출 이력]
|
|
[추천 카테고리]
|
|
}
|
|
|
|
note right of RecommendService
|
|
6. 지출 카테고리 기반 구독 추천
|
|
- 사용자의 지출 패턴 분석
|
|
- 최적 구독 카테고리 추천
|
|
end note
|
|
}
|
|
|
|
' Relationships
|
|
App --> MemberController
|
|
App --> MySubController
|
|
App --> CategoryController
|
|
App --> ServiceController
|
|
App --> RecommendController
|
|
|
|
MemberController --> MemberService
|
|
MemberService --> JwtTokenProvider
|
|
MemberService --> MemberDB
|
|
|
|
MySubController --> MySubService
|
|
CategoryController --> MySubService
|
|
ServiceController --> MySubService
|
|
MySubService --> MySubDB
|
|
|
|
RecommendController --> RecommendService
|
|
RecommendService --> SpendingAnalyzer
|
|
RecommendService --> RecommendDB |