Глава 2: Проектирование системы управления задачами

Проектирование системы управления задачами может показаться сложным, но с NocoBase этот процесс становится простым и увлекательным. Мы вместе пройдём по шагам: разберём требования, спроектируем структуру данных и спланируем будущие функции. Не волнуйтесь, мы не будем погружаться в сложный код — построим Вашу систему управления задачами максимально интуитивным и простым способом.

2.1 Анализ требований

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

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

Теперь нарисуем простую блок-схему этих функциональных модулей:

Сразу всё стало понятнее, не правда ли?


О таблицах данных: NocoBase использует понятие «Collection» для описания структуры данных, что позволяет унифицировать данные из разных источников и обеспечить надёжную основу для управления и анализа данных.

Поддерживается создание разных типов таблиц: обычных, наследуемых, древовидных, календарных, файловых, выраженческих, SQL-таблиц, представлений и внешних таблиц — это позволяет покрыть самые разные сценарии работы с данными. Такой подход делает работу с данными гибче и эффективнее.

2.2 Проектирование таблиц данных

Хорошо, теперь немного напряжём мысль. Чтобы реализовать описанные функции, нужно спланировать таблицы данных системы. Не волнуйтесь — нам не нужна сложная структура БД, достаточно нескольких простых таблиц.

На основе анализа требований обычно проектируют следующие таблицы:

  1. Таблица пользователей (Users): фиксирует пользователей системы — кто работает над задачами, кто отвечает за управление?
  2. Таблица задач (Tasks): содержит детали каждой задачи — название, документ, ответственный, статус прогресса.
  3. Таблица вложений (Attachments): хранит все вложения, связанные с задачами, — изображения, файлы и т. д.
  4. Таблица комментариев (Comments): содержит комментарии пользователей к задачам и облегчает взаимодействие в команде.

Связи между таблицами просты: у каждой задачи может быть много вложений и комментариев, и все они создаются или загружаются каким-то пользователем. Это и есть основа структуры нашей системы управления задачами.

На рисунке ниже показаны основные связи этих таблиц:

2.3 Проектирование таблиц в системе NocoBase

Так какие же таблицы нам реально нужно спроектировать в NocoBase для этой системы? На самом деле всё проще, чем кажется:

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

Остальные сложные функции — управление вложениями, информация о пользователях и т. п. — NocoBase уже включает «из коробки», создавать их вручную не нужно. Сразу стало проще, верно?

Мы начнём с простой системы управления данными задач и будем постепенно расширять функциональность. Например, сначала спроектируем базовые поля задачи, затем добавим комментарии — гибко и под контролем.

В целом структура таблиц с нужными полями будет выглядеть примерно так:

Итог

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

Например, начало таблицы задач будет очень простым:

Таблица задач (Tasks):
        Название задачи (task_name) — однострочный текст
        Описание задачи (task_description) — многострочный текст

Очень наглядно, правда? Готовы к следующей главе (Глава 3: Управление данными задач — стратегическое спокойствие, лёгкое начало)?


Продолжайте исследовать, открывая бесконечные возможности! Если в процессе возникнут вопросы, не забывайте, что всегда можно обратиться к официальной документации NocoBase или присоединиться к сообществу NocoBase. До встречи в следующей главе!