How motoingit/plus-ultra works
PLUS-ULTRA is a floating desktop assistant for task/reminder management and related learning and opportunity tracking. The main workflow starts at the application entry point, initializes persistence and domain services, then opens the floating widget and dashboard; users manage workspace records through views and services backed by SQLite. Reminder scheduling and desktop alerts are a separate runtime branch. Additional documented capabilities include single-instance locking, persistent widget position, and JSON settings. Some subsystem connections are based on README documentation because their source was not sampled.
Main entry points: main.py App entry · tasks_view.py Tasks workspace · services Domain services · task_repository.py Task repository
Components 22
Application runtime
- App entry
src/plus_ultra/main.py - Runtime configuration
src/plus_ultra/config.py - Instance lock
src/plus_ultra/desktop.py - Reminder scheduler
src/plus_ultra/scheduler.py - Desktop notifications
src/plus_ultra/notifications.py
Desktop interface
- Floating widget
src/plus_ultra/ui/floating.py - Dashboard panel
src/plus_ultra/ui/panel.py - Tasks workspace
src/plus_ultra/ui/views/tasks_view.py - Task cards
src/plus_ultra/ui/components/task_card.py - Scrollable frame
src/plus_ultra/ui/components/scrollable.py - UI icons
src/plus_ultra/ui/icons.py - UI theme
src/plus_ultra/ui/theme.py - Other workspace views
src/plus_ultra/ui/views
Workspace domains
- Domain services
src/plus_ultra/services - Domain models
src/plus_ultra/models.py
Persistence
- Workspace repositories
src/plus_ultra/repositories - Task repository
src/plus_ultra/repositories/task_repository.py - SQLite connection
src/plus_ultra/database/connection.py - SQLite database
- JSON settings
src/plus_ultra/settings.py - Widget position state
src/plus_ultra/repositories/app_state_repository.py
Other components
- Desktop user
Connections 26
- Desktop user → Floating widget: uses
README.md - App entry → Runtime configuration: loads settings
src/plus_ultra/main.py - App entry → Instance lock: acquires lock
src/plus_ultra/main.py - App entry → SQLite connection: initializes database
src/plus_ultra/main.py - App entry → Workspace repositories: constructs repositories
src/plus_ultra/main.py - App entry → Domain services: constructs services
src/plus_ultra/main.py - App entry → Floating widget: creates widget
src/plus_ultra/main.py - App entry → Dashboard panel: creates dashboard
src/plus_ultra/main.py - App entry → Reminder scheduler: starts scheduler
src/plus_ultra/main.py - App entry → Widget position state: loads and saves position
src/plus_ultra/main.py - Floating widget → Dashboard panel: opens dashboard
src/plus_ultra/main.py - Dashboard panel → Tasks workspace: hosts workspace
- Tasks workspace → Domain services: requests task operations
src/plus_ultra/ui/views/tasks_view.py - Tasks workspace → Task cards: renders tasks
src/plus_ultra/ui/views/tasks_view.py - Tasks workspace → Scrollable frame: uses scroll container
src/plus_ultra/ui/views/tasks_view.py - Tasks workspace → UI icons: loads icons
src/plus_ultra/ui/views/tasks_view.py - Tasks workspace → UI theme: uses theme
src/plus_ultra/ui/views/tasks_view.py - Domain services → Workspace repositories: delegates data access
src/plus_ultra/services/course_service.py - Task repository → SQLite connection: uses transactions
src/plus_ultra/repositories/task_repository.py - Task repository → SQLite database: reads and writes tasks
src/plus_ultra/repositories/task_repository.py - Task repository → Domain models: creates task models
src/plus_ultra/repositories/task_repository.py - Reminder scheduler → Domain services: checks reminders
- App entry → Desktop notifications: enables alerts
src/plus_ultra/main.py - Other workspace views → Domain services: manages workspace domains
src/plus_ultra/ui/views/tasks_view.py - JSON settings → Desktop user: stores preferences
README.md - SQLite connection → SQLite database: connects SQLite
README.md