Комплексное Swift приложение для macOS, которое размещается в menu bar и предоставляет полный набор инструментов для управления проектами, коммуникации и организации работы.
- 📊 Визуальный Dashboard - Popover-интерфейс с полным обзором проекта
- 📈 Прогресс-бар - Визуальное отображение выполнения задач (72% и т.д.)
- 🎯 Статус проекты - Цветовые индикаторы (🟢 On Track, 🟡 At Risk, 🔴 Overdue)
- 🔄 Автообновление - Автоматическая синхронизация каждые 5 минут
- ⚡ Быстрые действия - Добавление задач и встреч одним кликом
- 🔀 Переключение проектов - Моментальный переход между проектами
- 📊 Статистика - Выполненные/просроченные задачи, дни до дедлайна
- Иконка в menu bar - Дискретная иконка папки с документами в строке меню
- 📋 Полное управление проектами:
- 📅 Календарь (Calendar) - ⌘+C
- ✅ Напоминания (Reminders) - ⌘+R
- 📝 Заметки (Notes) - ⌘+N
- 📧 Почта (Mail) - ⌘+M
- 💬 Сообщения (Messages) - ⌘+S
- 🚀 Планирование проектов через AppleScript:
- ➕ Создание проектов - ⌘+P
- 📝 Управление задачами - ⌘+T
- 📅 Планирование встреч - ⌘+M
- 🚩 Создание вех проекта - ⌘+L
- ✅ Чек-листы проектов - ⌘+K
- 📊 Мониторинг статуса - ⌘+S
- 📅 Предстоящие события - ⌘+U
- 🔧 Системные инструменты:
- 🧮 Калькулятор (Calculator)
- 👁️ Просмотр (Preview)
- 📂 Finder
- Быстрое напоминание - моментальное создание нового напоминания
- 🌐 Многоязычная поддержка - Русский и английский языки
- Настройки языка - Выбор языка в меню приложения
./run.shИли вручную:
swift build
.build/debug/PlanningTrayswift build --configuration release
.build/release/PlanningTray./manage.sh start # Запустить в автозагрузке
./manage.sh stop # Остановить
./manage.sh restart # Перезапустить
./manage.sh status # Проверить статус
./manage.sh manual # Запустить вручную
./manage.sh logs # Просмотреть логи- После запуска приложение появится в menu bar как иконка папки с документами
- Кликните на иконку для открытия меню
- Выберите нужное приложение или функцию
⌘ + C- Открыть Календарь⌘ + R- Открыть Напоминания⌘ + N- Открыть Заметки⌘ + Q- Быстрое напоминание⌘ + P- Создать проект⌘ + T- Добавить задачу⌘ + M- Запланировать встречу⌘ + L- Создать веху⌘ + K- Создать чек-лист⌘ + S- Статус проекта⌘ + U- Предстоящие события
PlanningTray теперь поддерживает комплексное планирование проектов через интеграцию с AppleScript:
- Создание проекта - Создает проект с задачами в Reminders и структурой в Calendar
- Управление задачами - Добавление, отслеживание и приоритизация задач
- Планирование встреч - Организация встреч и ревью проектов
- Вехи и таймлайны - Создание контрольных точек проекта
- Чек-листы - Структурированные списки задач
- Мониторинг прогресса - Отслеживание статуса и предстоящих событий
Все функции доступны через меню "🚀 Планирование проектов" в menu bar.
После создания проекта, клик по иконке PlanningTray откроет современный Dashboard с:
- Визуальным прогресс-баром
- Списком активных и выполненных задач
- Предстоящими встречами и событиями
- Статистикой проекта
- Быстрыми действиями для добавления задач и встреч
Подробная документация:
- APPLESCRIPT_PROJECT_PLANNING.md - AppleScript интеграция
- IMPROVED_PROJECT_MANAGEMENT.md - ⭐ Новый улучшенный UI
- Swift 5.9+
- macOS 12.0+
- Использует встроенные приложения macOS
- Не требует внешних зависимостей
- Работает в фоне без окна
PlanningTray/
├── Package.swift # Конфигурация Swift Package
├── Sources/
│ ├── PlanningTray.swift # Основной код приложения
│ ├── Models.swift # ⭐ Модели данных (Project, Task, Event)
│ ├── ProjectManager.swift # ⭐ Менеджер проектов с автообновлением
│ ├── ProjectDashboardView.swift # ⭐ SwiftUI Dashboard интерфейс
│ ├── AppleScriptBridge.swift # Мост для AppleScript интеграции
│ ├── LanguageManager.swift # Управление локализацией
│ ├── AppActions.swift # Действия приложения
│ ├── IconFactory.swift # Создание иконок
│ ├── ru.lproj/ # Русская локализация
│ │ ├── Localizable.strings
│ │ └── InfoPlist.strings
│ └── en.lproj/ # Английская локализация
│ ├── Localizable.strings
│ └── InfoPlist.strings
├── run.sh # Скрипт запуска
├── README.md # Этот файл
├── APPLESCRIPT_PROJECT_PLANNING.md # Документация AppleScript
└── IMPROVED_PROJECT_MANAGEMENT.md # ⭐ Документация нового UI
Выберите "Выход" в меню или нажмите Ctrl+C в терминале.
Приложение автоматически запускается при входе в систему macOS. Для управления автозагрузкой используйте скрипт manage.sh:
- Запуск:
./manage.sh start - Остановка:
./manage.sh stop - Перезапуск:
./manage.sh restart - Статус:
./manage.sh status - Ручной запуск:
./manage.sh manual(без автозагрузки) - Логи:
./manage.sh logs
./manage.sh stop
rm ~/Library/LaunchAgents/com.bivex.PlanningTray.plistПриложение поддерживает два языка:
- 🇷🇺 Русский (ru)
- 🇺🇸 English (en)
- Кликните на иконку приложения в menu bar
- Выберите "🌐 Язык" / "🌐 Language"
- Выберите желаемый язык из списка
- Создайте папку
Sources/[language_code].lproj/(например,de.lprojдля немецкого) - Скопируйте
Localizable.stringsиз существующей локализации - Переведите строки на новый язык
- Добавьте новый язык в
Package.swiftв разделе resources
Проект включает автоматизированные тесты для проверки функциональности AppleScript интеграции с использованием Quick и Nimble - популярных фреймворков для BDD-тестирования Swift.
dependencies: [
.package(url: "https://github.com/Quick/Quick.git", from: "7.0.0"),
.package(url: "https://github.com/Quick/Nimble.git", from: "12.0.0"),
]AppleScriptBridgeTests.swift- Тесты для основного функционала AppleScript BridgeProjectPlanningIntegrationTests.swift- Интеграционные тесты полного цикла проекта
swift testТесты используют BDD-подход с Quick:
import Quick
import Nimble
class MyTests: QuickSpec {
override func spec() {
describe("компонент") {
context("в определенном состоянии") {
it("должен вести себя определенным образом") {
expect(result).to(equal(expectedValue))
}
}
}
}
}Quick и Nimble требуют наличия XCTest для работы. В средах разработки без полного Xcode (например, только Command Line Tools) может потребоваться установка полного Xcode для запуска тестов.
Приложение использует системную тему и адаптивные иконки. Код легко расширяется для добавления новых функций планирования.