MacDuck — macOS-приложение на SwiftUI, объединяющее историю буфера обмена, Pomodoro-таймер и управление задачами в едином рабочем пространстве.
Проект разработан в рамках хакатона на 3 курсе. Основной акцент сделан на системной интеграции macOS (глобальные горячие клавиши, floating-окна, работа с буфером обмена и Shortcuts) и организации продуктивного рабочего процесса.
- Отслеживание содержимого clipboard.
- Хранение истории копирований.
- Быстрое восстановление ранее скопированных данных.
- Работа через глобальные горячие клавиши.
- Файловое хранение истории.
- Запуск и управление Pomodoro-сессиями.
- Отслеживание времени фокусировки.
- Хранение статистики сессий.
- Связь Pomodoro с задачами.
- Создание и хранение задач.
- Связь задач с фокус-сессиями.
- Структурированные модели данных.
- Локальное хранение состояния.
- Плавающее окно поверх других приложений.
- Быстрый доступ к функциям.
- Минималистичный рабочий интерфейс.
- Регистрация глобальных hotkeys.
- Быстрое открытие интерфейса.
- Интеграция с системными событиями macOS.
- Создание системных шорткатов.
- Запуск автоматизированных сценариев.
- Взаимодействие с macOS Automation.
Проект организован по слоям:
MacDuck/
App/
Scenes/
Models/
Services/
Storage/
Utilities/
- ClipboardModels
- PomodoroModels
- TaskModels
Отдельные модели для каждого домена приложения.
- PomodoroService
- ClipboardHistoryService
- GlobalHotKeyService
- ClipboardHotkeyCenter
- FloatingWindowManager
- ShortcutCreator
- ShortcutRunner
Сервисный слой изолирует бизнес-логику от UI и системных API.
- ClipboardStorage
- ClipboardFileStore
- StatsStorage
Отдельный слой хранения данных:
- файловое хранение истории,
- сохранение статистики,
- управление состоянием.
Проект активно использует возможности macOS:
- Работа с NSPasteboard (буфер обмена).
- Глобальные горячие клавиши.
- Плавающие окна поверх других приложений.
- Shortcuts API.
- Работа с файловой системой.
- Swift
- SwiftUI (macOS)
- AppKit integration
- macOS System APIs
- Global Hotkeys
- File-based storage
- Shortcuts integration
- Разделение доменов (Clipboard / Pomodoro / Tasks).
- Сервисный слой.
- Изоляция системных API.
- Чистая структура проекта.
- Минимизация логики в UI.
- Синхронизация между устройствами.
- Расширенная статистика продуктивности.
- Cloud-хранение истории буфера.
- Расширение автоматизации через Shortcuts.
- Поддержка плагинов.
Проект разработан в команде:
- Матвеенко Эльвира
- Самсонов Артём
- Малова Олеся
- Рычагов Михаил
3 курс направления «Программная инженерия».