WUMM iOS Architecture

iOS 16.0+ Swift 5.0 89 Components
App Entry Flow
WUMMApp
ContentView
MainTabView
홈 (HomeView)
예산 (BudgetView)
커뮤니티 (CommunityView)
캘린더 (CalendarView)
더보기 (MoreView)
AuthView
Feature Modules (click to expand)
홈 (Home)
9 views
HomeView
• DDayCardView
• TipViews
• UpcomingEventRow
• HomeShortcutCard
• PartnerCodeCard
• PopularPostsViews
• QuickStatCard
• ChecklistPreviewRow
• NotificationListView
→ ViewModels
CalendarVM, ChecklistVM, CommunityVM, BudgetVM, CoupleVM, NotificationVM
예산 (Budget)
2 views
BudgetView
• AddBudgetItemView
→ ViewModels
BudgetViewModel
→ Services
FirebaseService
→ Models
Budget, BudgetItem, BudgetCategoryModel
커뮤니티 (Community)
5 views
CommunityView
• CreatePostView
• PostDetailView
• PostRow
• CommentRow
→ ViewModels
CommunityViewModel
→ Services
FirebaseService, ModerationService
→ Models
CommunityPost, Comment, Report
캘린더 (Calendar)
4 views
CalendarView
• AddEventView
• EditEventView
• EventDetailView
→ ViewModels
CalendarViewModel
→ Services
FirebaseService, EventKitService
→ Models
CalendarEvent
체크리스트 (Checklist)
2 views
ChecklistView
• AddChecklistItemView
→ ViewModels
ChecklistViewModel
→ Services
FirebaseService
→ Models
Checklist
하객 (Guests)
2 views
GuestsView
• AddGuestView
→ ViewModels
GuestViewModel
→ Services
FirebaseService
→ Models
Guest
업체 (Vendors)
2 views
VendorsView
• AddVendorView
→ ViewModels
VendorViewModel
→ Services
FirebaseService
→ Models
Vendor
더보기+기타 (More & Others)
12 views
MoreView
• FeedbackView
• StorageView
Auth: AuthView, CoupleSetupView
Moderation: ReportContentView, BlockUserView, TermsAgreementView
Common: DatePickerComponents, LinkifiedText, ShareSheet
→ ViewModels
StorageVM, AuthVM, CoupleVM
→ Services
All services (shared)
Infrastructure Layer
ViewModels
AuthViewModel
BudgetViewModel
CalendarViewModel
ChecklistViewModel
CommunityViewModel
CoupleViewModel
GuestViewModel
NotificationViewModel
StorageViewModel
VendorViewModel
ViewModelContainer
DI Hub
Services
Firebase
FirebaseService
AuthService (Email/Google/Kakao/Apple)
PushNotificationService
AnalyticsService
Feature
CoupleService
TipService
EventKitService
ModerationService
AdminService
System
DeepLinkManager
SlackFeedbackService
WUMMPDFService
Models
Core
User
Couple
Budget
Budget
BudgetCategoryModel
BudgetItem
Events
CalendarEvent
Checklist
Community
CommunityPost
Comment
Report
Content
DailyTip
WeddingTip
People
Guest
Vendor
System
SharedFile
UserNotification
Cloud Functions
Auth
verifyKakaoToken (Callable)
Scheduled
partnerReminder (daily 10AM)
weddingMilestone (daily 9AM)
weeklyChecklist (Mon 9AM)
reportEscalation (6h)
Triggers
onReportCreated
onNotificationCreated
onCrashlyticsNewFatalIssue
onCrashlyticsNewNonfatalIssue