Рабочий канвас для продуктового планирования: одна временная шкала и пять слоёв — вехи, продуктовая ценность, функциональность, аналитика, контент и знания.
- Создание, редактирование и удаление карточек в боковой панели.
- Перетаскивание карточек по времени и изменение начала/окончания за края.
- Вехи с критериями достижения и контрольными линиями.
- Связи «Создаёт ценность для», «Зависит от», «Необходимо для вехи».
- Выявление конфликтов сроков; запрет циклических зависимостей.
- Режимы для команды и руководства, фильтр статусов и поиск.
- Масштаб недели / месяцы / кварталы, переход между кварталами.
- Панель карточек без сроков, сворачивание слоёв.
- Сохранение в Cloudflare D1. Защита от перезаписи изменений из другого окна через номер версии.
При первом открытии создаётся демонстрационный план VIP-поддержки. Сроки и целевые значения условные; это пример работы интерфейса, а не утверждённый план проекта.
React 19, TypeScript, Vinext/Vite, Radix UI, Cloudflare Workers + D1, Drizzle migrations.
Node.js >= 22.13.0. Установите зависимости pnpm install. Для сборки pnpm build, для проверки типов pnpm exec tsc --noEmit.
В .openai/hosting.json поле d1 должно быть DB. Сначала выполните сборку и примените миграцию в локальную базу:
node --import ./scripts/sites-env.mjs ./node_modules/wrangler/bin/wrangler.js d1 execute DB --local --config dist/server/wrangler.json --persist-to .wrangler/state --file drizzle/0000_violet_sally_floyd.sqlpnpm dev запускает рабочую копию, pnpm start — собранный Worker. В управляемом окружении предварительный просмотр запускается через sites-preview start.
app/page.tsx— канвас, фильтры, редактор и операции с карточками.lib/roadmap.ts— модель, демонстрационные данные, валидация и анализ рисков.app/api/roadmap/route.ts— загрузка и сохранение с optimistic concurrency.db/schema.ts,drizzle/— схема и миграции.db/raw.ts— доступ к D1 через prepared statements.
API ограничивает объём и валидирует даты, типы карточек, ссылки и граф зависимостей. Изменения сохраняются на сервере; при ошибке редактор сохраняет открытый черновик. Роадмап использует одну общую доску; отдельные продукты можно описывать в названиях и карточках. Пользовательские роли, несколько досок и совместное редактирование в реальном времени не входят в эту версию.
Опубликованная версия закрыта средствами Sites. При самостоятельном развёртывании необходимо настроить собственный контроль доступа, например Cloudflare Access: приложение не содержит отдельной системы пользователей.