--- description: globs: alwaysApply: true --- Project Structure ๐Ÿฅ RADIOLOGIST APP STRUCTURE NeoScan_Radiologist/ โ”‚ โ”œโ”€โ”€ app/ โ”‚ โ”œโ”€โ”€ modules/ # ๐ŸŒ Feature-wise modular architecture โ”‚ โ”‚ โ”œโ”€โ”€ Auth/ # ๐Ÿ” Authentication Module โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ BiometricLogin.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PinInput.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ EmergencyAccess.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ LoginScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ SetupBiometricScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useAuth.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useBiometric.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ authSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ authActions.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ authSelectors.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ authAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ biometricService.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AuthService.test.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ LoginScreen.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ authSlice.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Dashboard/ # ๐Ÿ“Š Dashboard Module โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseQueue.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseCard.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PriorityIndicator.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ StatsPanel.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ FilterBar.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DashboardScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseListScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useCaseQueue.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useRealTimeUpdates.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useFilterCases.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dashboardSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ caseQueueSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dashboardActions.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dashboardSelectors.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ caseAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ websocketService.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ notificationService.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseQueue.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dashboardSlice.test.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ caseAPI.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseReview/ # ๐Ÿ” Case Review Module โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DICOMViewer.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AIOverlay.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ MeasurementTools.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AnnotationTools.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseMetadata.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PriorStudyComparison.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CaseDetailsScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DICOMViewerScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ComparisonScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useDICOMViewer.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useAIOverlay.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useMeasurements.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useAnnotations.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ caseReviewSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dicomSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ aiAnalysisSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ caseReviewActions.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ caseReviewSelectors.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dicomAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ aiAnalysisAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dicomParser.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ imageProcessor.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DICOMViewer.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AIOverlay.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dicomParser.test.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ caseReviewSlice.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Reporting/ # ๐Ÿ“ Reporting Module โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ VoiceRecorder.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ReportEditor.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ReportTemplate.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ QuickReportButtons.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ReportPreview.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ReportingScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ VoiceReportScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ReportHistoryScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useVoiceRecording.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useReportGeneration.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useSpeechToText.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ reportingSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ voiceRecordingSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ reportingActions.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ reportingSelectors.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ reportAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ voiceToTextAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ reportTemplateService.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ VoiceRecorder.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ reportingSlice.test.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ voiceToTextAPI.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Notifications/ # ๐Ÿ”” Notifications Module โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ NotificationPanel.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AlertBanner.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CriticalAlert.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ NotificationSettings.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ NotificationsScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AlertDetailsScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useNotifications.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ usePushNotifications.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useAlertHandling.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ notificationsSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ alertsSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ notificationActions.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ notificationSelectors.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ pushNotificationService.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ alertService.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ notificationAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ NotificationPanel.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ alertService.test.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ notificationsSlice.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Analytics/ # ๐Ÿ“ˆ Analytics Module โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PerformanceMetrics.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ResponseTimeChart.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ConcordanceStats.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ WorkloadAnalysis.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AnalyticsScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PerformanceScreen.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useAnalytics.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ usePerformanceMetrics.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ analyticsSlice.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ analyticsActions.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ analyticsSelectors.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ analyticsAPI.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ metricsCollector.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PerformanceMetrics.test.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ analyticsSlice.test.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ metricsCollector.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ Profile/ # ๐Ÿ‘ค User Profile Module โ”‚ โ”‚ โ”œโ”€โ”€ components/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ProfileHeader.tsx โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ SettingsPanel.tsx โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PreferencesForm.tsx โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ SecuritySettings.tsx โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”œโ”€โ”€ screens/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ProfileScreen.tsx โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ SettingsScreen.tsx โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ PreferencesScreen.tsx โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useProfile.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useSettings.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”œโ”€โ”€ redux/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ profileSlice.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ settingsSlice.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ profileActions.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ profileSelectors.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”œโ”€โ”€ services/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ profileAPI.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ settingsAPI.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”œโ”€โ”€ __tests__/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ProfileHeader.test.tsx โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ profileSlice.test.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ profileAPI.test.ts โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ navigation/ # ๐Ÿงญ Navigation Setup โ”‚ โ”‚ โ”œโ”€โ”€ AppNavigator.tsx โ”‚ โ”‚ โ”œโ”€โ”€ AuthNavigator.tsx โ”‚ โ”‚ โ”œโ”€โ”€ MainNavigator.tsx โ”‚ โ”‚ โ”œโ”€โ”€ TabNavigator.tsx โ”‚ โ”‚ โ”œโ”€โ”€ ModalNavigator.tsx โ”‚ โ”‚ โ”œโ”€โ”€ navigationTypes.ts โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ redux/ # ๐Ÿ—ƒ๏ธ Redux Store Setup โ”‚ โ”‚ โ”œโ”€โ”€ store.ts โ”‚ โ”‚ โ”œโ”€โ”€ rootReducer.ts โ”‚ โ”‚ โ”œโ”€โ”€ middleware.ts โ”‚ โ”‚ โ”œโ”€โ”€ persistConfig.ts โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ constants/ # ๐Ÿ“‹ Global Constants โ”‚ โ”‚ โ”œโ”€โ”€ apiEndpoints.ts โ”‚ โ”‚ โ”œโ”€โ”€ appConstants.ts โ”‚ โ”‚ โ”œโ”€โ”€ errorMessages.ts โ”‚ โ”‚ โ”œโ”€โ”€ notificationTypes.ts โ”‚ โ”‚ โ”œโ”€โ”€ priorityLevels.ts โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ App.tsx # ๐ŸŽฏ Root Component โ”‚ โ””โ”€โ”€ index.ts # ๐Ÿš€ App Bootstrap โ”‚ โ”œโ”€โ”€ shared/ # โœ… Shared Components & Utilities โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”œโ”€โ”€ components/ # ๐ŸŽจ Global UI Components โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Button/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Button.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Button.styles.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Button.types.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Input/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ TextInput.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ SearchInput.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Input.styles.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Input.types.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Modal/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Modal.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ ConfirmModal.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ AlertModal.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Modal.styles.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Modal.types.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Card/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Card.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ InfoCard.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Card.styles.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Card.types.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Loading/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Spinner.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ LoadingOverlay.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Loading.styles.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Icons/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ CustomIcon.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ IconButton.tsx โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Icons.types.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ theme/ # ๐ŸŽจ Design System โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ colors.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ spacing.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ typography.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ shadows.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ borderRadius.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ animations.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ assets/ # ๐Ÿ“ Static Assets โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ icons/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ critical-alert.svg โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ urgent-alert.svg โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ routine-alert.svg โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ images/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ logo.png โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ placeholder.png โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ fonts/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Roboto-Regular.ttf โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Roboto-Bold.ttf โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ sounds/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ critical-alert.wav โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ urgent-alert.wav โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ routine-alert.wav โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ utils/ # ๐Ÿ› ๏ธ Utility Functions โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ dateTime/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ formatDate.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ timeAgo.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ validation/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ validators.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ schemas.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ helpers/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ debounce.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ throttle.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ formatters.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ constants/ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ regex.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ formats.ts โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ hooks/ # ๐ŸŽฃ Shared Custom Hooks โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useTheme.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useDebounce.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useKeyboard.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useNetworkStatus.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ useOrientation.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ types/ # ๐Ÿ“ TypeScript Types โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ common.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ api.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ navigation.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ theme.ts โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # ๐Ÿ“ฆ Barrel Export โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ package.json # ๐Ÿ“ฆ Shared Package Config โ”‚ โ””โ”€โ”€ tsconfig.json # โš™๏ธ TypeScript Config โ”‚ โ”œโ”€โ”€ __tests__/ # ๐Ÿงช Global Tests โ”‚ โ”œโ”€โ”€ App.test.tsx โ”‚ โ”œโ”€โ”€ Navigation.test.tsx โ”‚ โ”œโ”€โ”€ Redux.test.tsx โ”‚ โ””โ”€โ”€ Integration.test.tsx โ”‚ โ”œโ”€โ”€ assets/ # ๐Ÿ–ผ๏ธ App-wide Assets โ”‚ โ”œโ”€โ”€ images/ โ”‚ โ”œโ”€โ”€ videos/ โ”‚ โ””โ”€โ”€ audio/ โ”‚ โ”œโ”€โ”€ android/ # ๐Ÿค– Android Native โ”œโ”€โ”€ ios/ # ๐ŸŽ iOS Native โ”œโ”€โ”€ index.js # ๐ŸŽฏ RN Entry Point โ”œโ”€โ”€ package.json # ๐Ÿ“ฆ Root Dependencies โ”œโ”€โ”€ tsconfig.json # โš™๏ธ Base TypeScript Config โ”œโ”€โ”€ metro.config.js # ๐Ÿ“ฆ Metro Bundler Config โ”œโ”€โ”€ babel.config.js # ๐Ÿ”„ Babel Config โ””โ”€โ”€ .eslintrc.js # ๐Ÿ“ ESLint Config