Skip to content
maksim zaytsev
Проекты

2023 · React · Node.js · MongoDB · Socket.io

Таск-менеджер

Реалтайм-канбан для небольших команд: доски, роли, обновления в реальном времени по WebSockets.

Что делает

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

Как устроен

React на фронтенде, Node.js на бэкенде, MongoDB хранит доски, карточки и их порядок. Socket.io передаёт живые обновления: сервер рассылает изменение при каждой мутации, а подключённые клиенты обновляют локальное состояние вместо повторной загрузки доски. Порядок карточек хранится как сортируемая позиция, а не индекс в массиве, поэтому перестановка одной карточки не требует пересчёта позиций всех остальных. Роли проверяются на сервере при каждой мутации, а не только скрываются на клиенте — клиенту нельзя доверять соблюдение собственных прав доступа.