Устройство доски
Доска — единственный экран стенда. Она читает три JSON-файла, собирает разметку в браузере и дальше работает без сети.
Колонки
Колонки заданы в файле доски и рисуются в том порядке, в котором перечислены. Их четыре:
| Идентификатор | Название | Лимит WIP | Цвет точки |
|---|---|---|---|
backlog | Бэклог | нет | #8b95a8 |
doing | В работе | 6 | #3b5bdb |
review | Ревью | 4 | #c98a1b |
done | Готово | нет | #2f9e6b |
В заголовке колонки справа стоит счётчик. Если у колонки задан wip_limit, счётчик показывает пару «текущее / лимит» — например 5 / 6. Лимит здесь чисто информационный: стенд его показывает, но не запрещает положить в колонку седьмую карточку.
Карточка на доске
На карточке видно шесть вещей: ключ (ENG-412), заголовок, теги, аватар исполнителя, приоритет и срок. Наведение курсора показывает имя и роль исполнителя, просроченные сроки подсвечиваются красным.
Фильтры
Панель над доской фильтрует задачи двумя независимыми способами:
- Отдел — выпадающий список. Значение
allпоказывает все задачи. - Приоритет — три чипа: «Высокий», «Средний», «Низкий». Работает как переключатель: повторное нажатие на активный чип снимает фильтр.
Фильтры складываются: отдел «Разработка» + приоритет «Высокий» показывает только пересечение. Счётчик справа отражает результат — «7 из 22 задач».
Перетаскивание
Карточки перетаскиваются между колонками обычным HTML5 drag-and-drop. Колонка под курсором подсвечивается рамкой. После отпускания задача меняет поле column в памяти страницы и доска перерисовывается.
Перемещение живёт в памяти вкладки: перезагрузка возвращает доску к исходному снимку.
Карточка задачи
Клик по задаче открывает карточку справа от доски — на широком экране она занимает место, которое иначе пустует, потому что колонки фиксированной ширины. Внутри: описание, свойства, чек-лист с прогрессом, обсуждение и история изменений.
Задача закрывается крестиком или клавишей Esc. Ниже 1180 пикселей панель показывается поверх доски, а не рядом.
Вкладка «API»
Вторая вкладка в шапке показывает список эндпоинтов и живые фрагменты ответов — те же самые JSON, которые в этот момент нарисовали доску. Подробный разбор — в разделе о статических эндпоинтах.