Кейс 02 / 17 · Трекер расписаний для Windows · 2026
Northstar
Десктопное приложение для расписаний учёбы и работы на Tauri 2: неделя с перетаскиванием, главная из крупных карточек, помодоро прямо на занятии, конспекты на TipTap, напоминания поверх всех окон с кнопками «Пройдено» и «Отменить», мини-виджет и импорт из Excel. Работает без интернета — данные лежат в SQLite на компьютере, бэкапы каждый день, обновления приходят сами. Установщик — 12.7 МБ.
- Время разработки: 7 дней
- Строк кода: 17 000+
- Тестов: 142
- Размер установщика: 12.7 МБ
Задача
Расписание стажировки, курса или вуза обычно живёт в таблице или общем календаре: его неудобно смотреть в течение дня, напоминания теряются среди уведомлений, а отметить «пройдено» и записать итоги занятия негде. Облачные календари требуют аккаунт и интернет, а Electron-приложения весят по 150 МБ и едят память.
Решение
Tauri 2: интерфейс на React 19 + TypeScript strict, системная часть на Rust — трей, мини-виджет, глобальный хоткей, автозапуск, своё окно уведомлений без перехвата фокуса и действия прямо из уведомлений Windows. Данные — SQLite с миграциями и проверкой целостности при запуске; повреждённая база восстанавливается из автобэкапа в один клик. Любое действие отменяется Ctrl+Z через снимки состояния. Логика (повторения, пересечения, свободные окна, импорт, статистика) — чистые функции со 121 тестом, сценарии в настоящем окне проверяет e2e на WebView2. К приложению — лендинг в стиле студии со скриншотами из настоящего интерфейса и раздачей обновлений через nginx.
Ключевое
Tauri 2 + Rust, 12.7 МБ · Работает без интернета · Помодоро в виджете · Ctrl+Z на любое действие
Что сделано
- Главная из крупных карточек: что идёт сейчас с обратным отсчётом, фокус-таймер, план дня, часы по дням недели, прогресс расписаний, свободные окна, конспекты и ссылки
- Сегодня, Неделя, Месяц и Повестка: перетаскивание с шагом 15 минут, растягивание за край, создание протягиванием по пустому месту, линия «сейчас»
- Повторения по дням недели и каждые N дней, пропуск одного дня, правка одного вхождения или всей серии
- Отметка «пройдено» и итоги у каждого занятия, прогресс программы в процентах
- Конспекты на TipTap: заголовки, чек-листы, код, маркер; итоги занятий собираются одной кнопкой, полноэкранный режим, экспорт в Markdown
- Помодоро на текущем занятии или свободный: кольцо с цифрами-барабанами на главной, в мини-виджете и в подсказке трея
- Мини-виджет поверх всех окон: три размера, прозрачность, режим «сквозь клики»; при наведении вместо «Далее» — таймер
- Свои уведомления сверху экрана: не перехватывают фокус, подробности при наведении, «Пройдено» с отменой; или системные Windows с кнопками действий
- Импорт из Excel и Google Sheets вставкой, CSV, XLSX и .ics с сопоставлением колонок; повторный импорт обновляет изменившиеся события
- Отмена любого действия Ctrl+Z и повтор Ctrl+Shift+Z — перенос, удаление, импорт, массовые операции
- Выделение нескольких событий Ctrl+кликом: пройдено, сдвиг на день, перенос в другое расписание, удаление
- Поиск свободного окна нужной длины, копирование недели, шаблоны событий, пересечения прямо в форме
- Палитра команд Ctrl+K и горячие клавиши: экраны по цифрам, глобальный хоткей окна из любой программы
- Статистика за неделю, месяц и всё время: часы по расписаниям, тегам и дням недели
- SQLite с миграциями, ежедневные бэкапы, проверка целостности при запуске и восстановление в один клик
- Трей, автозапуск, автообновление с подписью, свой установщик NSIS; русский и английский интерфейс
- Лендинг в стиле студии: сценарии «Учёба / Работа / Стажировка», скриншоты из настоящего интерфейса, последняя версия подставляется сама
Этапы
- Каркас и данные (1 день) — Tauri 2, SQLite с миграциями, сторы на Zustand, дизайн-система студии, демо-расписание
- Календарь (1 день) — Сегодня, Неделя, Месяц, Повестка; повторения, перетаскивание и растягивание, пересечения
- Системная часть (1 день) — Трей, мини-виджет, глобальный хоткей, автозапуск, уведомления, установщик и автообновление
- Импорт и надёжность (1 день) — CSV, XLSX и .ics с сопоставлением колонок, бэкапы, проверка базы, отмена любого действия
- Учёба и фокус (1 день) — Пройдено и итоги, конспекты на TipTap, шаблоны, статистика, помодоро, свободные окна
- Полировка (1 день) — Главная, свои уведомления поверх окон, английский интерфейс, подсказки, e2e-тесты
- Сайт и выкладка (1 день) — Лендинг со сценариями, скриншоты из интерфейса, nginx и раздача обновлений
Следующий проект: CRM