Кейс 02 / 17 · Трекер расписаний для Windows · 2026

Northstar

Десктопное приложение для расписаний учёбы и работы на Tauri 2: неделя с перетаскиванием, главная из крупных карточек, помодоро прямо на занятии, конспекты на TipTap, напоминания поверх всех окон с кнопками «Пройдено» и «Отменить», мини-виджет и импорт из Excel. Работает без интернета — данные лежат в SQLite на компьютере, бэкапы каждый день, обновления приходят сами. Установщик — 12.7 МБ.

https://northstar.lkxa.ru

  • Время разработки: 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. Каркас и данные (1 день) — Tauri 2, SQLite с миграциями, сторы на Zustand, дизайн-система студии, демо-расписание
  2. Календарь (1 день) — Сегодня, Неделя, Месяц, Повестка; повторения, перетаскивание и растягивание, пересечения
  3. Системная часть (1 день) — Трей, мини-виджет, глобальный хоткей, автозапуск, уведомления, установщик и автообновление
  4. Импорт и надёжность (1 день) — CSV, XLSX и .ics с сопоставлением колонок, бэкапы, проверка базы, отмена любого действия
  5. Учёба и фокус (1 день) — Пройдено и итоги, конспекты на TipTap, шаблоны, статистика, помодоро, свободные окна
  6. Полировка (1 день) — Главная, свои уведомления поверх окон, английский интерфейс, подсказки, e2e-тесты
  7. Сайт и выкладка (1 день) — Лендинг со сценариями, скриншоты из интерфейса, nginx и раздача обновлений

Следующий проект: CRM