How darkveteran28/drona works
Drona is a macOS productivity-tracking app with learning and portfolio integrations and configurable widgets. Its intended workflow is to track app activity, classify it, summarize productivity, and present results in the dashboard; it also offers focus enforcement, learning analytics, and GitHub/LeetCode views. The sampled RuleEngine confirms classification, summary persistence, and widget updates, while the tree and README support the other feature areas. Several subsystem connections are omitted because their invoking code was not sampled.
Main entry points: RuleEngine.swift Activity rules · ContentView.swift Main interface · ActivityTracker.swift Activity tracking · DronaApp.swift App entry
Components 27
App experience
- App entry
Drona/DronaApp.swift - Main interface
Drona/Views/ContentView.swift - Productivity dashboard
Drona/Views/Dashboard/DashboardView.swift - Settings
Drona/Views/Settings/SettingsView.swift - Learning views
Drona/Views/Learning/LearningView.swift - Settings manager
Drona/Services/SettingsManager.swift
Tracking and focus
- Activity tracking
Drona/Services/Tracking/ActivityTracker.swift - Focus enforcement
Drona/Services/Enforcement/FocusMonitor.swift - Violation logging
Drona/Services/Enforcement/ViolationLogger.swift
Analytics and learning
- Activity rules
Drona/Services/Intelligence/RuleEngine.swift - Productivity classifier
Drona/Services/Intelligence/ProductivityClassifier.swift - Productivity analytics
Drona/Services/Intelligence/AnalyticsEngine.swift - Behavior analysis
Drona/Services/Intelligence/BehaviorAnalyzer.swift - Insights
Drona/Services/Intelligence/InsightGenerator.swift - Learning analytics
Drona/Services/Intelligence/LearningAnalyticsEngine.swift - Achievement detection
Drona/Services/Intelligence/AchievementEngine.swift
External integrations
- GitHub portfolio
Drona/Services/Intelligence/PortfolioManager.swift - GitHub portfolio service
Drona/Integrations/GitHubPortfolioService.swift - LeetCode service
Drona/Integrations/LeetCodeService.swift
Widgets and persistence
- Daily history
Drona/Services/Storage/HistoryManager.swift - Widget summary sharing
Drona/Shared/SharedDataProvider.swift - Widget refresh
Drona/Shared/WidgetRefreshManager.swift - Widget extension
DronaWidgetExtension/DronaWidgetExtension.swift - Usage file storage
Drona/Services/Storage/StorageManager.swift
Other components
- User
- GitHub API
- LeetCode
Connections 24
- User → App entry: launches
- App entry → Main interface: presents
- User → Main interface: uses
- User → Settings: configures
- Main interface → Productivity dashboard: shows
- Main interface → Learning views: shows
- Activity rules → Productivity classifier: classifies
- Activity rules → Daily history: saves summary
- Activity rules → Widget summary sharing: saves summary
- Activity rules → Widget refresh: requests refresh
- GitHub portfolio service → GitHub API: fetches data
- LeetCode service → LeetCode: fetches data
- Widget summary sharing → Widget extension: provides summary
- Widget refresh → Widget extension: reloads timelines
- Activity tracking → Usage file storage: persists usage
- Settings → Settings manager: updates settings
- GitHub portfolio → GitHub portfolio service: fetches portfolio
- Productivity dashboard → Productivity analytics: displays analytics
- Productivity analytics → Behavior analysis: analyzes patterns
- Behavior analysis → Insights: generates insights
- Learning views → Learning analytics: shows learning
- Learning analytics → Achievement detection: detects milestones
- Activity tracking → Focus enforcement: monitors focus
- Focus enforcement → Violation logging: logs violations