Делатель

Документация «Делателя»

Описание функциональных характеристик программного обеспечения «Делатель»

Документ подготовлен в соответствии с подпунктом «д» пункта 11 Правил формирования и ведения единого реестра российских программ для электронных вычислительных машин и баз данных, утверждённых постановлением Правительства Российской Федерации от 16 ноября 2015 г. № 1236.

1. Общие сведения о программном обеспечении

ПараметрЗначение
Наименование программы для ЭВМ«Делатель»
Альтернативное наименованиеDoer
ПравообладательОбщество с ограниченной ответственностью «КОРЛАБ» (ООО «КОРЛАБ»)
ОГРН правообладателя1211600087632
ИНН правообладателя1655468497
Адрес правообладателя420021, Республика Татарстан, г. Казань, ул. Габдуллы Тукая, зд. 91
Адрес электронной почтыd.fattahov@corelab.team
Класс по классификатору Минцифры России05.05 «Средства управления проектами»
Тип программного обеспеченияПрикладное программное обеспечение, веб-сервис
Способ поставкиСамостоятельное развёртывание на технических средствах заказчика (on-premise) в контейнерах Docker
Язык пользовательского интерфейсаРусский
Версия документа1.0

Далее по тексту термины, записанные с заглавной буквы (Проект, Задача, Рутина, Страница, Папка, Wiki-ссылка, Карма и другие), употребляются в значении, заданном в разделе 4 настоящего документа, и совпадают с терминологией эксплуатационной документации Программы.

2. Назначение и область применения

Программа для ЭВМ «Делатель» (альтернативное наименование — Doer; далее — Программа) предназначена для планирования, организации и контроля исполнения работ: ведения перечня Проектов и Задач, планирования рабочего дня, контроля сроков, делегирования работ исполнителям, ведения регулярно повторяющихся действий (Рутин), учёта затраченного на работу времени и ведения рабочих заметок в едином рабочем пространстве.

Решаемая прикладная проблема: работы, распределённые по разным Проектам, выпадают из поля зрения исполнителя, а сроки и признаки остановки Проекта обнаруживаются с опозданием. Программа сводит все объекты, требующие действия или внимания в текущий день, на один экран — «Стол» — и самостоятельно выявляет Проекты, в которых прекратилось движение, Задачи с нарушенными сроками и делегированные работы, по которым истёк срок ожидания.

Область применения: организация индивидуальной и проектной работы специалистов, руководителей подразделений и индивидуальных предпринимателей. Программа применима в любой отрасли, в которой ведётся учёт работ и сроков их выполнения.

Программа реализована как веб-приложение и эксплуатируется через веб-браузер с любого устройства, имеющего сетевой доступ к серверу развёртывания. Данные хранятся централизованно в системе управления базами данных на стороне сервера. Программа рассчитана на работу одного пользователя в одном экземпляре развёртывания.

3. Функциональные характеристики

Функциональные характеристики приведены по разделам. Каждой характеристике присвоен сквозной номер вида Ф-N для целей ссылок в иных документах.

3.1. Управление Проектами и Задачами

Ф-1. Программа обеспечивает создание Проекта с указанием наименования, Вида Проекта (Проект Задач либо Проект Рутин), Категории (Личное либо Работа), Типа Проекта Задач (Фокус, Обычный либо Когда-нибудь) и Порога Тишины — числа дней, по истечении которых Проект без событий признаётся остановившимся.

Ф-2. Программа обеспечивает ограничение количества одновременно действующих Проектов Типа «Фокус» тремя единицами: при исчерпании лимита элемент управления переводом в этот Тип становится недоступным с указанием причины.

Ф-3. Программа обеспечивает ведение перечня Проектов с автоматическим распределением по разделам «Фокус», «Работа», «Личное» и «Когда-нибудь» и с раздельным отображением Проектов Задач и Проектов Рутин.

Ф-4. Программа обеспечивает отображение состояния каждого Проекта в перечне: количества Задач в Состоянии «Бэклог», признака отсутствия следующего шага, наличия Просроченных Задач с указанием максимального числа дней просрочки, длительности отсутствия событий Активности и количества Задач в Состоянии «В работе».

Ф-5. Программа обеспечивает создание Задачи с обязательным наименованием в выбранном Проекте Задач либо во Входящих — плоском перечне Задач, которым Проект не назначен, — с последующим переносом Задачи в Проект без потери значений полей.

Ф-6. Программа обеспечивает ведение Задачи в одном из трёх Состояний: «Бэклог», «В работе», «Выполнена», — с фиксацией календарной даты перевода Задачи в Состояние «Выполнена».

Ф-7. Программа обеспечивает ведение сроков Задачи: Даты Выполнения (даты запланированного начала работы) с необязательным указанием времени, Дедлайна (даты, позже которой Задача признаётся Просроченной) с необязательным указанием времени и Напоминания — даты и необязательного времени, при наступлении которых Задача выводится в блок «Требует Внимания».

Ф-8. Программа обеспечивает контроль корректности вводимых дат: в поля дат Задачи допускается ввод только текущей либо будущей календарной даты.

Ф-9. Программа обеспечивает ведение Чек-листа Задачи — упорядоченного перечня пунктов с признаком выполнения, с добавлением, отметкой, снятием отметки, удалением и изменением порядка пунктов перетаскиванием.

Ф-10. Программа обеспечивает ведение Описания Задачи и Описания Рутины в формате разметки Markdown с отображением заголовков, начертаний, перечней, ссылок, таблиц, цитат и фрагментов исходного кода.

Ф-11. Программа обеспечивает учёт Переносов сроков: каждое изменение Даты Выполнения или Дедлайна на более позднюю дату фиксируется в истории Задачи с указанием даты изменения, изменённого поля, прежнего и нового значений; на Задаче отображается счётчик Переносов.

Ф-12. Программа обеспечивает ведение хроники изменений Задачи (раздел «Активность»): создание Задачи, переводы между Состояниями, изменения сроков с указанием прежнего и нового значений, смену Проекта, назначение и снятие Исполнителя, а также завершённые отрезки учёта рабочего времени.

Ф-13. Программа обеспечивает ведение Комментариев к Задаче и к Рутине в формате разметки Markdown.

Ф-14. Программа обеспечивает ведение Архива Проектов: завершение Проекта с переводом в Архив, просмотр архивного Проекта в режиме «только чтение» и восстановление Проекта из Архива.

Ф-15. Программа обеспечивает удаление Задачи и удаление Рутины с обязательным подтверждением действия пользователем.

Ф-16. Программа обеспечивает ведение произвольной заметки Проекта в формате разметки Markdown отдельными блоками текста.

3.2. Планирование дня: экран «Стол», Список Сегодня, Карма

Ф-17. Программа обеспечивает формирование главного экрана «Стол», объединяющего зону «Фокус», быстрые переходы к спискам дня («Сегодня», «Рутины», «Журнал», «Входящие») и зону «Требует Внимания».

Ф-18. Программа обеспечивает автоматическое формирование Списка Сегодня — перечня Задач, требующих работы в текущий календарный день. В Список Сегодня включаются невыполненные Задачи действующих Проектов, у которых Дата Выполнения равна текущей дате, либо Дедлайн равен текущей дате, либо которые являются Просроченными, либо которые находятся в Состоянии «В работе».

Ф-19. Программа обеспечивает автоматический перевод Задачи из Состояния «Бэклог» в Состояние «В работе» при наступлении её Даты Выполнения (для Задач без установленного Дедлайна); при возврате Задачи в Состояние «Бэклог» Дата Выполнения автоматически снимается.

Ф-20. Программа обеспечивает автоматическое определение Просроченных Задач (Дедлайн истёк либо, при отсутствии Дедлайна, истекла Дата Выполнения) с расчётом и отображением числа дней просрочки и выделением таких Задач в перечнях.

Ф-21. Программа обеспечивает отображение сводных показателей текущего состояния: количества Просроченных Задач, количества Проектов в состоянии «Нет Движения», значения Кармы, дневного расклада Кармы и длительности серии дней непрерывного движения по Проектам Фокуса.

Ф-22. Программа обеспечивает автоматический расчёт Кармы — единого числового показателя дисциплины исполнения: начисление одного балла за перевод Задачи в Состояние «Выполнена» и списание одного балла за каждый календарный день, на конец которого Задача оставалась Просроченной. При первом открытии Программы в новом календарном дне расчёт автоматически доначисляется за все пропущенные дни.

Ф-23. Программа обеспечивает исключение из расчёта Кармы Задач, по которым назначен Исполнитель: работа, выполняемая другим лицом, показатель дисциплины пользователя не изменяет.

Ф-24. Программа обеспечивает формирование зоны «Фокус» — перечня Проектов приоритетного внимания с индикатором состояния Проекта, строкой следующего шага (наиболее давно взятой в работу Задачи) с указанием срока её нахождения в работе либо указанием на отсутствие следующего шага и длительность отсутствия событий, а также с упорядочиванием Проектов по степени критичности состояния.

Ф-25. Программа обеспечивает перевод Проекта из Типа «Фокус» в Тип «Когда-нибудь» непосредственно из зоны «Фокус» с освобождением лимита Фокуса.

Ф-26. Программа обеспечивает автоматическое формирование зоны «Требует Внимания» с группировкой по Категориям и по типам сигналов: «Нет Движения» (в Проекте не зафиксировано событий Активности в течение Порога Тишины), «Ожидание Просрочено» (истёк срок по делегированной Задаче) и «Напоминание» (наступили дата и время Напоминания). Сигнал «Напоминание» гасится действием «Ознакомился» без изменения Состояния Задачи.

Ф-27. Программа обеспечивает автоматическую фиксацию событий Активности Проекта (создание Задачи, переводы между Состояниями, Перенос срока, редактирование наименования или Описания, отметка пункта Чек-листа) и расчёт на их основе состояния «Нет Движения».

Ф-28. Программа обеспечивает работу экрана «Сегодня» с группировкой Задач по Проектам, выделением Просроченных, отображением сроков и отдельным блоком Задач, выполненных в текущий день.

Ф-29. Программа обеспечивает работу экрана «Входящие» — перечня Задач без назначенного Проекта — с полем быстрого добавления Задачи.

Ф-30. Программа обеспечивает расчёт серии дней непрерывного движения по Проектам Фокуса: день засчитывается при наличии в этот день хотя бы одного датированного события (создание Задачи, взятие в работу, выполнение, Перенос срока либо отрезок учёта рабочего времени).

3.3. Делегирование работ: Контакты и экран «Ожидаю»

Ф-31. Программа обеспечивает ведение справочника Контактов — лиц, которым делегируются Задачи; новые Контакты добавляются в справочник в момент назначения Исполнителя.

Ф-32. Программа обеспечивает назначение Задаче Исполнителя из справочника Контактов, создание нового Контакта непосредственно в окне назначения и снятие ранее назначенного Исполнителя.

Ф-33. Программа обеспечивает работу экрана «Ожидаю» — сводного перечня всех делегированных Задач с группировкой по Проектам, упорядочиванием по сроку, отображением счётчика ожиданий и выделением ожиданий с нарушенным сроком.

Ф-34. Программа обеспечивает отображение имени Исполнителя единым способом во всех перечнях, в которых выводится делегированная Задача.

3.4. Рутины и Расписания

Ф-35. Программа обеспечивает создание Рутины — повторяющегося действия — в Проекте Рутин с указанием наименования и Расписания.

Ф-36. Программа обеспечивает задание Расписания Рутины по одной из четырёх схем повторения: «День» (каждый N-й день), «Неделя» (заданные дни недели каждую N-ю неделю), «Месяц» (заданное число месяца каждый N-й месяц), «Год» (заданные день и месяц ежегодно) — с указанием Даты Старта и с использованием готовых заготовок параметров («Каждый день», «Рабочие дни», «Выходные», «Раз в неделю», «Раз в месяц»).

Ф-37. Программа обеспечивает автоматический расчёт Плановых Дней Рутины по заданному Расписанию, в том числе корректную обработку краевых случаев (месяц, содержащий меньше дней, чем указанное число; 29 февраля в невисокосном году).

Ф-38. Программа обеспечивает постановку и снятие Отметки выполнения Рутины за Плановый День.

Ф-39. Программа обеспечивает автоматическую фиксацию Пропусков — Плановых Дней, завершившихся без Отметки, — при первом открытии Программы в новом календарном дне, а также действия с Пропуском: «Отметить выполненным» и «Удалить» с исключением дня из статистики.

Ф-40. Программа обеспечивает ведение статистики выполнения Рутины в помесячной разбивке с указанием количества Отметок и Пропусков месяца и с отображением прошедших Плановых Дней.

Ф-41. Программа обеспечивает выбор режима выполнения Рутины с периодичностью реже ежедневной: выполнение строго в Плановый День либо выполнение в течение периода, при котором Рутина доступна к отметке каждый день периода до наступления Планового Дня, выступающего предельным сроком, с отображением остатка срока.

Ф-42. Программа обеспечивает пометку Рутины временем суток (Утро, День, Вечер) и формирование экрана «Рутины сегодня» с группировкой по Проектам Рутин, подгруппами по времени суток и отдельным блоком выполненных Рутин.

Ф-43. Программа обеспечивает ручное упорядочивание Рутин в Проекте Рутин перетаскиванием с сохранением порядка.

3.5. Учёт затраченного рабочего времени

Ф-44. Программа обеспечивает запуск таймера рабочего отрезка над Задачей или Рутиной с выбором длительности из заготовок (15, 25, 45 минут) либо с указанием произвольного числа минут.

Ф-45. Программа обеспечивает работу секундомера — учёта рабочего отрезка без заранее заданного предела длительности.

Ф-46. Программа обеспечивает приостановку рабочего отрезка с фиксацией остатка, его продолжение и автоматическое закрытие отрезка при превышении предельной длительности приостановки.

Ф-47. Программа обеспечивает хранение сведений о выполняемом отрезке на стороне сервера: отсчёт сохраняется при перезагрузке страницы и доступен с другого устройства; одновременно допускается не более одного выполняемого отрезка. Сведения о выполняемом отрезке отображаются на всех экранах Программы.

Ф-48. Программа обеспечивает учёт наработки: суммирование завершённых отрезков за текущую календарную неделю с отображением в перечнях и карточках, а также ведение журнала отрезков с группировкой по неделям и дням.

Ф-49. Программа обеспечивает автоматическую постановку Отметки выполнения Рутины по завершении рабочего отрезка над ней.

3.6. Заметки: Страницы, Папки, Wiki-ссылки, Шаблоны

Ф-50. Программа обеспечивает ведение Страниц — самостоятельных заметок в формате разметки Markdown с глобально уникальным наименованием, размещаемых в корне либо в одной Папке.

Ф-51. Программа обеспечивает ведение Папок — контейнеров для Страниц и вложенных Папок — с созданием, переименованием и каскадным удалением с подтверждением.

Ф-52. Программа обеспечивает работу Wiki-ссылок вида [[Наименование страницы]]: переход на существующую Страницу и создание отсутствующей Страницы в Папке исходной Страницы с немедленным открытием созданной Страницы.

Ф-53. Программа обеспечивает поиск Страниц по наименованию.

Ф-54. Программа обеспечивает применение Шаблонов — заготовок текста, хранимых в виде Страниц, — путём вставки содержимого Шаблона в редактируемый текст.

Ф-55. Программа обеспечивает единый редактор длинных текстов с панелью разметки (начертания, ссылка, маркированный перечень, перечень с отметками) для Описаний, Комментариев, Страниц и заметок Проекта.

3.7. Уведомления и Журнал

Ф-56. Программа обеспечивает подписку устройства пользователя на получение уведомлений по технологии Web Push и отправку уведомлений на все подписанные устройства.

Ф-57. Программа обеспечивает отправку планового утреннего уведомления с краткой сводкой предстоящего дня и планового вечернего уведомления с итогами дня по Проектам Фокуса.

Ф-58. Программа обеспечивает отправку уведомлений в наступивший момент времени: по времени Дедлайна, по времени Напоминания, по завершении рабочего отрезка, а также заблаговременно и в момент начала события календаря.

Ф-59. Программа обеспечивает ведение Журнала — хроники всех сформированных Программой сообщений с указанием времени, заголовка и полного текста сообщения, с листанием по календарным дням.

Ф-60. Программа обеспечивает отображение количественного показателя объёма текущего дня на значке установленного приложения.

3.8. Интеграции с внешними системами

Ф-61. Программа обеспечивает получение сведений о событиях календаря из внешнего источника по ссылке на ленту в формате iCalendar (стандарт RFC 5545) в режиме «только чтение», отображение событий текущего дня отдельной группой на экране «Сегодня», учёт числа событий в показателях дня и формирование уведомлений о предстоящих событиях. Ссылка на ленту задаётся параметром среды исполнения; при незаданном параметре функция не активируется.

Ф-62. Программа обеспечивает программный интерфейс для внешних систем, включающий операции создания Задачи, создания Проекта и получения перечня действующих Проектов Задач. Доступ предоставляется по токену в заголовке авторизации, применяется ограничение частоты обращений и предельного размера запроса. По умолчанию интерфейс отключён и активируется заданием параметра среды исполнения.

3.9. Пользовательский интерфейс и режимы работы

Ф-63. Программа обеспечивает адаптивный пользовательский интерфейс в двух режимах вёрстки — мобильном (нижняя панель навигации) и настольном (боковая панель навигации) — с идентичным составом и поведением экранов.

Ф-64. Программа обеспечивает работу в качестве прогрессивного веб-приложения (PWA): установку на рабочий экран устройства, работу в автономном оконном режиме, кэширование ранее открытых экранов для просмотра при отсутствии сети с явным указанием давности показанных сведений, отображение собственного экрана при отсутствии связи и автоматическое обновление до актуальной версии.

Ф-65. Программа обеспечивает светлое и тёмное оформление интерфейса с автоматическим выбором по системной настройке устройства пользователя.

Ф-66. Программа обеспечивает поддержку клавиатурных сокращений в настольном режиме для создания Задачи, создания Проекта и закрытия открытого диалога.

Ф-67. Программа обеспечивает индикацию отклика интерфейса: подсветку нажатого элемента, индикатор выполнения перехода и элементы-заполнители на месте загружаемых данных, а также учёт системных настроек пониженной анимации и пониженной прозрачности.

Ф-68. Программа обеспечивает работу пользовательского интерфейса на русском языке. Все наименования экранов, элементов управления, сообщений и уведомлений выводятся на русском языке.

4. Термины и определения

ТерминОпределение
ПроектКонтейнер для Задач либо для Рутин; принадлежит ровно одной Категории и имеет ровно один Вид
Категория ПроектаОдно из двух значений: «Личное», «Работа»
Вид ПроектаОдно из двух значений: «Проект Задач», «Проект Рутин»
Тип Проекта ЗадачОдно из трёх значений: «Фокус», «Обычный», «Когда-нибудь»
ЗадачаЕдиница работы, находящаяся в одном Проекте Задач либо во Входящих
Состояние ЗадачиОдно из трёх значений: «Бэклог», «В работе», «Выполнена»
ВходящиеПеречень Задач, которым не назначен Проект
Дата Выполнения (Старт)Дата, на которую запланирована работа над Задачей
ДедлайнДата, позже которой Задача признаётся Просроченной
Просроченная ЗадачаНевыполненная Задача с истёкшим Дедлайном либо, при отсутствии Дедлайна, с истёкшей Датой Выполнения
ПереносИзменение Даты Выполнения либо Дедлайна на более позднюю дату, фиксируемое в истории Задачи
НапоминаниеДата и необязательное время, при наступлении которых Задача выводится в блок «Требует Внимания»
Чек-листУпорядоченный перечень пунктов внутри Задачи
ИсполнительКонтакт, назначенный на Задачу; Задача с Исполнителем именуется Ожиданием
КонтактЗапись справочника лиц, которым делегируются Задачи
РутинаПовторяющееся действие с Расписанием, принадлежащее Проекту Рутин
РасписаниеПравило, определяющее Плановые Дни Рутины
Плановый ДеньКалендарный день, в который Рутина подлежит выполнению
ОтметкаФакт выполнения Рутины в конкретный Плановый День
ПропускПлановый День, завершившийся без Отметки
Активность ПроектаСобытие в Проекте Задач из закрытого перечня событий
Порог ТишиныЧисло дней без событий Активности, по истечении которых Проект признаётся остановившимся
Нет ДвиженияСостояние Проекта, в котором события Активности отсутствуют дольше Порога Тишины
Требует ВниманияБлок главного экрана, объединяющий сигналы, требующие реакции пользователя
КармаЧисловой показатель дисциплины исполнения, изменяемый Событиями Кармы
АрхивХранилище завершённых Проектов
СтраницаСамостоятельная заметка в формате Markdown с глобально уникальным наименованием
ПапкаКонтейнер для Страниц и вложенных Папок
Wiki-ссылкаЗапись вида [[Наименование страницы]], однозначно ссылающаяся на Страницу
ЖурналХроника сообщений, сформированных Программой для пользователя

5. Сведения о технологиях, использованных при создании Программы

5.1. Состав применяемых технологий

УровеньТехнологияВерсия
Среда исполнения серверной частиNode.js24.x
Прикладной каркас (серверная и клиентская часть)Next.js (App Router)16.2
Библиотека построения пользовательского интерфейсаReact, React DOM19.2
Язык программированияTypeScript (строгий режим)5.x
Оформление интерфейсаTailwind CSS4.x
Доступ к базе данныхPrisma ORM, @prisma/client6.19
Система управления базами данныхPostgreSQL16
Расчёт Расписаний Рутинrrule (RRULE, RFC 5545)2.8
Разбор лент календаряical.js (iCalendar, RFC 5545)2.2
Уведомления Web Pushweb-push (VAPID)3.6
Отображение разметки Markdownreact-markdown, remark-gfm10.1 / 4.0
Модульное тестированиеVitest4.x
Приёмочное тестированиеPlaywright1.61
Контейнеризация и поставкаDocker (многостадийная сборка)
Обратный прокси-сервер контура развёртыванияnginx

Полный перечень стороннего программного обеспечения с указанием версий и условий лицензирования приведён в документе «05-third-party.md».

5.2. Архитектурные особенности

Программа построена по многоуровневой схеме с однонаправленными зависимостями: уровень отображения (экраны и компоненты интерфейса) — уровень доступа к данным и серверных действий — уровень доменных правил (расчёт Кармы, определение просрочки, состояния «Нет Движения», лимита Проектов Фокуса, Плановых Дней Рутин) — уровень объектно-реляционного отображения и системы управления базами данных.

Доменные правила реализованы чистыми функциями и существуют в единственном экземпляре: и серверный путь получения данных, и путь отображения из памяти приложения обращаются к одним и тем же функциям, что исключает расхождение поведения экранов.

Прикладные данные хранятся в реляционной базе данных PostgreSQL. Схема базы данных ведётся средствами Prisma; изменения схемы оформляются миграциями, применяемыми автоматически при запуске контейнера приложения.

5.3. Требования к техническим средствам и среде эксплуатации

Серверная часть:

Рабочее место пользователя:

Установка дополнительного программного обеспечения на рабочее место пользователя не требуется.

5.4. Обеспечение независимости от иностранных технических средств

Программа не содержит принудительной привязки к иностранным программным и аппаратным платформам: развёртывание выполняется на технических средствах заказчика, расположенных на территории Российской Федерации, с использованием свободно распространяемого системного программного обеспечения. Обязательное подключение к внешним сервисам для функционирования Программы отсутствует: интеграция с внешней лентой календаря и программный интерфейс для внешних систем являются необязательными и по умолчанию отключены. Управление Программой из-за рубежа, включая принудительное обновление и удалённое отключение функциональности, отсутствует.

6. Ограничения текущей версии

В текущей версии Программы не реализованы и не заявляются:

  1. функции искусственного интеллекта в составе Программы;
  2. многопользовательский режим, ролевая модель и регистрация пользователей;
  3. подзадачи и приоритеты Задач;
  4. автоматический перенос сроков Просроченных Задач;
  5. двусторонняя синхронизация с внешними системами управления задачами;
  6. поиск по Задачам, Проектам и Рутинам (поиск реализован в разделе «Заметки»).

← Ко всем документам