Browse Source
- README.md: стек, структура monorepo, git-workflow, быстрый старт - docs/BRANDBOOK_SCOPE.md: полный состав цифрового брендбука - docs/SPRINTS.md: план 12 недельных спринтов - .gitignore: node_modules, .env, .next, .DS_Store, .claude Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>sprint/1
commit
4f1b611065
4 changed files with 665 additions and 0 deletions
@ -0,0 +1,31 @@
|
||||
# Dependencies |
||||
node_modules/ |
||||
.pnpm-store/ |
||||
|
||||
# Environment |
||||
.env |
||||
.env.local |
||||
.env.*.local |
||||
|
||||
# Build output |
||||
.next/ |
||||
dist/ |
||||
build/ |
||||
|
||||
# Logs |
||||
*.log |
||||
npm-debug.log* |
||||
|
||||
# OS |
||||
.DS_Store |
||||
Thumbs.db |
||||
|
||||
# IDE |
||||
.idea/ |
||||
.vscode/settings.json |
||||
|
||||
# Prisma |
||||
prisma/migrations/*.sql.bak |
||||
|
||||
# Claude |
||||
.claude/ |
||||
@ -0,0 +1,205 @@
|
||||
# О!Клиника — Интерактивный брендбук |
||||
|
||||
Живой цифровой брендбук клиники «О!Клиника» (oclinica.ru). |
||||
Формат: **Living Styleguide** — полноценное веб-приложение, где дизайнеры видят все UI-компоненты, блоки и страницы в реальном виде, а также могут создавать и сохранять экспериментальные элементы. |
||||
|
||||
--- |
||||
|
||||
## Стек технологий |
||||
|
||||
| Слой | Технология | |
||||
|------------|-----------------------------| |
||||
| Frontend | Next.js (App Router) | |
||||
| Backend | NestJS | |
||||
| База данных| PostgreSQL | |
||||
| ORM | Prisma | |
||||
| Стилизация | CSS Modules / Tailwind CSS | |
||||
| Шрифт | Fira Sans (Google Fonts) | |
||||
|
||||
--- |
||||
|
||||
## Структура монорепозитория |
||||
|
||||
``` |
||||
oclinica-brandbook/ |
||||
├── apps/ |
||||
│ ├── web/ # Next.js — фронтенд брендбука |
||||
│ └── api/ # NestJS — REST API |
||||
├── packages/ |
||||
│ └── tokens/ # Дизайн-токены (цвета, типографика) — shared |
||||
├── docs/ # Проектная документация |
||||
│ ├── BRANDBOOK_SCOPE.md |
||||
│ ├── SPRINTS.md |
||||
│ └── decisions/ # ADR — Architecture Decision Records |
||||
├── .env.example |
||||
├── docker-compose.yml |
||||
└── README.md |
||||
``` |
||||
|
||||
--- |
||||
|
||||
## Быстрый старт (локальная разработка) |
||||
|
||||
### Требования |
||||
- Node.js >= 20 |
||||
- pnpm >= 9 |
||||
- Docker (для PostgreSQL) |
||||
|
||||
### 1. Клонировать репозиторий |
||||
|
||||
```bash |
||||
git clone <repo-url> |
||||
cd oclinica-brandbook |
||||
``` |
||||
|
||||
### 2. Установить зависимости |
||||
|
||||
```bash |
||||
pnpm install |
||||
``` |
||||
|
||||
### 3. Настроить окружение |
||||
|
||||
```bash |
||||
cp .env.example .env |
||||
# Отредактировать .env — указать DATABASE_URL и другие переменные |
||||
``` |
||||
|
||||
### 4. Запустить PostgreSQL через Docker |
||||
|
||||
```bash |
||||
docker-compose up -d |
||||
``` |
||||
|
||||
### 5. Применить миграции Prisma |
||||
|
||||
```bash |
||||
cd apps/api |
||||
pnpm prisma migrate dev |
||||
pnpm prisma db seed # опционально — тестовые данные |
||||
``` |
||||
|
||||
### 6. Запустить проект |
||||
|
||||
```bash |
||||
# Из корня монорепозитория |
||||
pnpm dev |
||||
# web: http://localhost:3000 |
||||
# api: http://localhost:3001 |
||||
``` |
||||
|
||||
--- |
||||
|
||||
## Переменные окружения |
||||
|
||||
Создайте `.env` в корне на основе `.env.example`: |
||||
|
||||
```env |
||||
# База данных |
||||
DATABASE_URL="postgresql://user:password@localhost:5432/brandbook" |
||||
|
||||
# API |
||||
API_PORT=3001 |
||||
API_URL=http://localhost:3001 |
||||
|
||||
# Web |
||||
NEXT_PUBLIC_API_URL=http://localhost:3001 |
||||
``` |
||||
|
||||
--- |
||||
|
||||
## Git-workflow |
||||
|
||||
### Ветки |
||||
|
||||
| Ветка | Назначение | |
||||
|---------------|-------------------------------------------------| |
||||
| `main` | Стабильный production-ready код | |
||||
| `develop` | Интеграционная ветка, основа для спринтов | |
||||
| `sprint/N` | Ветка текущего спринта (например `sprint/2`) | |
||||
| `feature/xxx` | Конкретная фича или компонент | |
||||
| `fix/xxx` | Исправление бага | |
||||
|
||||
### Процесс работы |
||||
|
||||
``` |
||||
main ← develop ← sprint/N ← feature/component-name |
||||
``` |
||||
|
||||
1. Новую задачу начинаем с ветки от `sprint/N`: |
||||
```bash |
||||
git checkout develop |
||||
git checkout -b feature/hero-block |
||||
``` |
||||
2. Коммитим по конвенции (см. ниже) |
||||
3. Открываем PR в `sprint/N` (или напрямую в `develop` для мелких правок) |
||||
4. В конце спринта `sprint/N` мержится в `develop` |
||||
5. После тестирования `develop` мержится в `main` и деплоится |
||||
|
||||
### Конвенция коммитов (Conventional Commits) |
||||
|
||||
``` |
||||
<type>(<scope>): <описание на русском или английском> |
||||
|
||||
feat(colors): добавлена цветовая палитра primary |
||||
fix(button): исправлен hover-стейт для ghost-кнопки |
||||
docs(readme): обновлена инструкция по запуску |
||||
refactor(card): вынесен компонент DoctorCard |
||||
style(typography): выровнены размеры заголовков |
||||
chore(deps): обновлена версия Prisma |
||||
``` |
||||
|
||||
Типы: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore` |
||||
|
||||
--- |
||||
|
||||
## Деплой |
||||
|
||||
### Production (сервер) |
||||
|
||||
```bash |
||||
# На сервере |
||||
pnpm build |
||||
pnpm start |
||||
``` |
||||
|
||||
### Docker (опционально) |
||||
|
||||
```bash |
||||
docker-compose -f docker-compose.prod.yml up -d |
||||
``` |
||||
|
||||
> Подробности деплоя — в `docs/deployment.md` (создаётся в ходе разработки) |
||||
|
||||
--- |
||||
|
||||
## Структура базы данных (схема Prisma) |
||||
|
||||
Основные модели: |
||||
|
||||
- `Component` — экспериментальный компонент (name, html, css, status, author) |
||||
- `Page` — экспериментальная страница (name, blocks[], status) |
||||
- `Block` — блок страницы (name, componentId, order) |
||||
|
||||
--- |
||||
|
||||
## Документация |
||||
|
||||
| Файл | Содержание | |
||||
|----------------------------|-------------------------------------| |
||||
| `docs/BRANDBOOK_SCOPE.md` | Полный состав брендбука | |
||||
| `docs/SPRINTS.md` | План спринтов | |
||||
| `docs/decisions/` | Архитектурные решения (ADR) | |
||||
|
||||
--- |
||||
|
||||
## Команда |
||||
|
||||
| Роль | Участник | |
||||
|-------------------|--------------------| |
||||
| Дизайн + контент | О!Клиника | |
||||
| Разработка | совместно с ИИ | |
||||
|
||||
--- |
||||
|
||||
*Проект разрабатывается итеративно. Документация обновляется в ходе спринтов.* |
||||
@ -0,0 +1,180 @@
|
||||
# Содержание брендбука — Клиника «О!Клиника» (oclinica.ru) |
||||
|
||||
> Документ описывает полный состав интерактивного цифрового брендбука. |
||||
> Формат: Living Styleguide — веб-приложение для дизайнеров (внутренних и внешних подрядчиков). |
||||
|
||||
--- |
||||
|
||||
## 1. Фундамент бренда (Brand Foundation) |
||||
|
||||
### 1.1 Цветовая палитра |
||||
- Основные цвета (Primary) — из файла брендбука клиники |
||||
- Дополнительные цвета (Secondary) |
||||
- Нейтральные / серые оттенки |
||||
- Цвета состояний UI: success, warning, error, info |
||||
- Для каждого цвета: hex, RGB, HSL, название, рекомендации по применению |
||||
- Примеры сочетаний (color pairs) с проверкой контрастности (WCAG AA) |
||||
|
||||
### 1.2 Типографика |
||||
- Шрифт: **Fira Sans** (веса 300, 400) |
||||
- Шкала размеров: h1–h6, body, caption, label, overline |
||||
- Межстрочный интервал, межбуквенный интервал для каждого стиля |
||||
- Правила использования: жирный, курсив, caps |
||||
- Примеры живого текста (заголовки, абзацы, списки) |
||||
|
||||
### 1.3 Логотип |
||||
- Основная версия (светлый фон) |
||||
- Инвертированная версия (тёмный фон) |
||||
- Монохромная версия |
||||
- Охранная зона (минимальные отступы) |
||||
- Минимальные размеры |
||||
- Недопустимые варианты использования |
||||
- Скачивание файлов (SVG, PNG) |
||||
> ⏳ Логотип будет добавлен после получения вектора |
||||
|
||||
### 1.4 Иконография |
||||
- Принципы выбора иконок |
||||
- Рекомендованная сторонняя библиотека (определяется в процессе разработки) |
||||
- Размеры: 16px, 20px, 24px, 32px |
||||
- Правила цвета иконок |
||||
|
||||
--- |
||||
|
||||
## 2. Базовые UI-компоненты (Components) |
||||
|
||||
### 2.1 Кнопки (Buttons) |
||||
- Primary, Secondary, Ghost/Outline, Danger |
||||
- Размеры: sm, md, lg |
||||
- Состояния: default, hover, active, focus, disabled, loading |
||||
- Иконка + текст, только иконка |
||||
|
||||
### 2.2 Поля ввода (Form Controls) |
||||
- Text input: default, focus, error, success, disabled |
||||
- Textarea |
||||
- Select / Dropdown |
||||
- Checkbox (одиночный, группа) |
||||
- Radio button (группа) |
||||
- Toggle/Switch |
||||
- Подписи (label), подсказки (hint), сообщения об ошибках |
||||
|
||||
### 2.3 Бейджи и теги (Badges & Tags) |
||||
- Бейджи статуса (цветные) |
||||
- Теги фильтрации |
||||
- Счётчики (notification badge) |
||||
|
||||
### 2.4 Алерты и уведомления |
||||
- Inline: info, success, warning, error |
||||
- Toast-уведомления |
||||
|
||||
### 2.5 Карточки (Cards) |
||||
- Карточка врача (фото, имя, специализация, кнопка записи) |
||||
- Карточка услуги / заболевания |
||||
- Карточка новости (превью, дата, заголовок, анонс) |
||||
- Карточка отзыва (автор, текст, рейтинг, дата) |
||||
- Карточка цены (услуга, стоимость, описание) |
||||
|
||||
### 2.6 Модальные окна |
||||
- Информационное |
||||
- Форма записи на приём |
||||
- Подтверждение действия |
||||
|
||||
### 2.7 Навигация |
||||
- Главное меню (header nav) |
||||
- Мобильное меню (бургер) |
||||
- Хлебные крошки (breadcrumbs) |
||||
- Пагинация |
||||
|
||||
### 2.8 Таблицы |
||||
- Базовая таблица цен |
||||
- Таблица с сортировкой |
||||
|
||||
--- |
||||
|
||||
## 3. Блоки страниц (Page Blocks / Sections) |
||||
|
||||
### 3.1 Hero-блок |
||||
- Вариант с фоновым изображением + заголовок + CTA-кнопка |
||||
- Вариант с иллюстрацией сбоку |
||||
- Вариант с формой записи внутри |
||||
|
||||
### 3.2 CEO / Вступительный текст |
||||
- Блок с фото руководителя/главного врача |
||||
- Цитата, подпись, должность |
||||
|
||||
### 3.3 Наши врачи |
||||
- Сетка карточек врачей (3–4 в ряд) |
||||
- Фильтрация по специализации |
||||
- Кнопка «Все врачи» |
||||
|
||||
### 3.4 Отзывы пациентов |
||||
- Карусель отзывов |
||||
- Статичная сетка |
||||
- Блок рейтинга (звёзды, количество) |
||||
|
||||
### 3.5 Новости / Статьи |
||||
- Сетка превью (3 в ряд) |
||||
- Горизонтальный список |
||||
- Блок «Последние новости» (сайдбар) |
||||
|
||||
### 3.6 Форма контакта / Запись на приём |
||||
- Короткая форма (имя, телефон, кнопка) |
||||
- Расширенная форма (имя, телефон, специализация, врач, дата) |
||||
- Форма в модальном окне |
||||
|
||||
### 3.7 Контактный блок |
||||
- Карта + адрес + часы работы |
||||
- Схема проезда |
||||
|
||||
### 3.8 Услуги / Заболевания |
||||
- Сетка иконок с названиями |
||||
- Список с описанием |
||||
|
||||
### 3.9 Преимущества клиники |
||||
- Иконки + текст (3–4 колонки) |
||||
|
||||
--- |
||||
|
||||
## 4. Страницы (Pages) |
||||
|
||||
Каждая страница показывается в брендбуке как полноразмерный макет, собранный из утверждённых блоков. |
||||
|
||||
| Страница | Ключевые блоки | |
||||
|--------------------|----------------------------------------------------------------------| |
||||
| Главная | Hero, Преимущества, Наши врачи, Услуги, Отзывы, Новости, Форма записи | |
||||
| Заболевание | Hero (мини), CEO-текст, Описание, Врачи по теме, Форма контакта | |
||||
| Все врачи | Фильтры, Сетка карточек врачей, Пагинация | |
||||
| Врач (профиль) | Фото + инфо, Специализации, Расписание, Форма записи, Отзывы | |
||||
| Цены | Фильтры, Таблица цен, Форма контакта | |
||||
| Контакты | Карта, Адрес + часы, Форма контакта | |
||||
|
||||
--- |
||||
|
||||
## 5. Экспериментальная секция (Experimental) |
||||
|
||||
> Ключевая особенность брендбука — возможность создавать и сохранять новые компоненты и страницы прямо в интерфейсе. |
||||
|
||||
### 5.1 Конструктор компонентов |
||||
- Создание нового компонента через UI |
||||
- Редактирование параметров (цвет, размер, текст) |
||||
- Сохранение в базу данных |
||||
- Статус: draft / review / approved |
||||
|
||||
### 5.2 Конструктор страниц |
||||
- Drag-and-drop сборка страницы из блоков |
||||
- Сохранение как эксперимент |
||||
- История версий |
||||
|
||||
### 5.3 Библиотека экспериментов |
||||
- Список всех экспериментальных компонентов/страниц |
||||
- Фильтрация по статусу |
||||
- Возможность «утвердить» и перенести в основную секцию |
||||
|
||||
--- |
||||
|
||||
## 6. Технические требования брендбука |
||||
|
||||
- Адаптивность: desktop (1440px), tablet (768px), mobile (375px) |
||||
- Темная тема (опционально, обсудить) |
||||
- Копирование CSS/кода компонента в один клик |
||||
- Экспорт цветов в Figma-токены (JSON) |
||||
- Доступность: WCAG AA минимум |
||||
@ -0,0 +1,249 @@
|
||||
# План спринтов — Брендбук О!Клиника |
||||
|
||||
> Недельные спринты. Каждый спринт = 1 рабочая неделя. |
||||
> Базовая дата начала: уточняется при старте разработки. |
||||
|
||||
--- |
||||
|
||||
## Обозначения |
||||
|
||||
- **FE** — задача фронтенда (Next.js) |
||||
- **BE** — задача бэкенда (NestJS + Prisma) |
||||
- **DB** — изменения схемы базы данных |
||||
- **Design** — дизайн-решения, требующие согласования |
||||
|
||||
--- |
||||
|
||||
## Sprint 1 — Инициализация проекта |
||||
|
||||
**Цель:** Рабочее окружение, monorepo, базовая архитектура. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Инициализация Next.js (App Router) в `apps/web` |
||||
- [ ] BE: Инициализация NestJS в `apps/api` |
||||
- [ ] DB: Подключение PostgreSQL + Prisma, базовая схема |
||||
- [ ] Настройка Docker Compose для локальной разработки |
||||
- [ ] Настройка monorepo (pnpm workspaces) |
||||
- [ ] Создание `.env.example` |
||||
- [ ] Git: инициализация репозитория, ветки `main` и `develop` |
||||
- [ ] FE: Базовая структура брендбука (layout, навигация по секциям) |
||||
- [ ] FE: Подключение шрифта Fira Sans |
||||
|
||||
**Результат спринта:** Запускается `pnpm dev` — открывается пустой брендбук с навигацией. |
||||
|
||||
--- |
||||
|
||||
## Sprint 2 — Цвета и типографика (Brand Foundation) |
||||
|
||||
**Цель:** Секция «Фундамент бренда» — цвета и шрифты живые в брендбуке. |
||||
|
||||
### Задачи |
||||
- [ ] Design: Получить и зафиксировать все цвета из файла брендбука клиники |
||||
- [ ] FE: Создать CSS-переменные / дизайн-токены для всей цветовой палитры |
||||
- [ ] FE: Страница «Цвета» — отображение палитры с hex/RGB/HSL, копирование в клик |
||||
- [ ] FE: Страница «Типографика» — все стили текста (h1–h6, body, caption и т.д.) |
||||
- [ ] FE: Живые примеры типографики с Fira Sans |
||||
- [ ] FE: Экспорт токенов в JSON (Figma-compatible) |
||||
- [ ] Design: Согласование охранных зон и правил применения цветов |
||||
|
||||
**Результат спринта:** Раздел «Фундамент» полностью готов (без логотипа). |
||||
|
||||
--- |
||||
|
||||
## Sprint 3 — Базовые компоненты: кнопки и поля ввода |
||||
|
||||
**Цель:** Все варианты кнопок и форм-контролов в брендбуке. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Компонент Button (все варианты: primary/secondary/ghost/danger, размеры, состояния) |
||||
- [ ] FE: Компонент Input (text, password, focus/error/disabled) |
||||
- [ ] FE: Компонент Textarea |
||||
- [ ] FE: Компонент Select |
||||
- [ ] FE: Компонент Checkbox и Radio |
||||
- [ ] FE: Компонент Toggle/Switch |
||||
- [ ] FE: Страница брендбука «Компоненты → Кнопки» с документацией |
||||
- [ ] FE: Страница брендбука «Компоненты → Форм-контролы» |
||||
- [ ] FE: Копирование HTML/CSS кода компонента в один клик |
||||
|
||||
**Результат спринта:** Раздел «Базовые компоненты — кнопки и ввод» готов. |
||||
|
||||
--- |
||||
|
||||
## Sprint 4 — Карточки (Cards) |
||||
|
||||
**Цель:** Все типы карточек, используемых на сайте. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Карточка врача (DoctorCard) — фото, имя, специализация, кнопка записи |
||||
- [ ] FE: Карточка услуги / заболевания |
||||
- [ ] FE: Карточка новости — превью, дата, заголовок, анонс, читать далее |
||||
- [ ] FE: Карточка отзыва — автор, текст, рейтинг (звёзды), дата |
||||
- [ ] FE: Карточка цены — услуга, стоимость, описание |
||||
- [ ] FE: Бейджи, теги, алерты (inline и toast) |
||||
- [ ] FE: Страница «Компоненты → Карточки» с документацией |
||||
|
||||
**Результат спринта:** Все карточки задокументированы и показаны в брендбуке. |
||||
|
||||
--- |
||||
|
||||
## Sprint 5 — Hero-блок и CEO-текст |
||||
|
||||
**Цель:** Ключевые верхние блоки страниц. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Hero-блок вариант 1 — фон + заголовок + CTA |
||||
- [ ] FE: Hero-блок вариант 2 — иллюстрация сбоку |
||||
- [ ] FE: Hero-блок вариант 3 — с встроенной формой записи |
||||
- [ ] FE: Блок CEO-текст — фото руководителя, цитата, подпись |
||||
- [ ] FE: Блок «Преимущества клиники» — иконки + текст |
||||
- [ ] FE: Страница «Блоки → Hero и вступление» |
||||
- [ ] Design: Согласование вариантов Hero под разные страницы |
||||
|
||||
**Результат спринта:** Hero и CEO-секция полностью задокументированы. |
||||
|
||||
--- |
||||
|
||||
## Sprint 6 — Врачи и профиль врача |
||||
|
||||
**Цель:** Блоки и компоненты, связанные с врачами. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Блок «Наши врачи» — сетка карточек с фильтром по специализации |
||||
- [ ] FE: Блок «Врач — профиль» (полная страница): фото, биография, специализации, расписание |
||||
- [ ] FE: Компонент «Расписание / слоты записи» |
||||
- [ ] FE: Компонент навигации (header menu, breadcrumbs) |
||||
- [ ] FE: Пагинация |
||||
- [ ] FE: Страница «Блоки → Врачи» |
||||
|
||||
**Результат спринта:** Все блоки о врачах готовы. |
||||
|
||||
--- |
||||
|
||||
## Sprint 7 — Отзывы и новости |
||||
|
||||
**Цель:** Контентные блоки сайта. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Блок отзывов — карусель |
||||
- [ ] FE: Блок отзывов — статичная сетка |
||||
- [ ] FE: Блок рейтинга (звёзды + количество отзывов) |
||||
- [ ] FE: Блок новостей — сетка превью (3 в ряд) |
||||
- [ ] FE: Блок новостей — горизонтальный список |
||||
- [ ] FE: Блок «Последние новости» для сайдбара |
||||
- [ ] FE: Блок услуг / заболеваний — иконки + список |
||||
- [ ] FE: Страница «Блоки → Отзывы и новости» |
||||
|
||||
**Результат спринта:** Контентные блоки задокументированы. |
||||
|
||||
--- |
||||
|
||||
## Sprint 8 — Формы контакта и модальные окна |
||||
|
||||
**Цель:** Все формы и диалоги взаимодействия с пациентом. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Форма записи — короткая (имя, телефон) |
||||
- [ ] FE: Форма записи — расширенная (имя, телефон, специализация, врач, дата) |
||||
- [ ] FE: Форма записи в модальном окне |
||||
- [ ] FE: Контактная форма (имя, email, сообщение) |
||||
- [ ] FE: Блок «Контакт» — карта + адрес + часы работы |
||||
- [ ] FE: Модальное окно — информационное |
||||
- [ ] FE: Модальное окно — подтверждение |
||||
- [ ] FE: Страница «Блоки → Формы и контакты» |
||||
|
||||
**Результат спринта:** Все формы и диалоги готовы. |
||||
|
||||
--- |
||||
|
||||
## Sprint 9 — Страницы: Главная и Заболевание |
||||
|
||||
**Цель:** Первые две полноразмерные страницы в брендбуке. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Страница «Главная» — сборка из утверждённых блоков |
||||
- [ ] FE: Страница «Заболевание» — Hero (мини), описание, врачи по теме, форма |
||||
- [ ] FE: Раздел «Страницы» в навигации брендбука |
||||
- [ ] FE: Адаптивность страниц (desktop / tablet / mobile) |
||||
- [ ] Design: Ревью и согласование страниц |
||||
|
||||
**Результат спринта:** 2 страницы задокументированы в брендбуке. |
||||
|
||||
--- |
||||
|
||||
## Sprint 10 — Страницы: Врачи, Врач, Цены |
||||
|
||||
**Цель:** Три страницы с ключевым контентом. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Страница «Все врачи» — фильтры, сетка, пагинация |
||||
- [ ] FE: Страница «Врач (профиль)» |
||||
- [ ] FE: Страница «Цены» — фильтры, таблица, форма |
||||
- [ ] FE: Таблица цен с сортировкой |
||||
- [ ] FE: Адаптивность всех трёх страниц |
||||
- [ ] Design: Ревью страниц |
||||
|
||||
**Результат спринта:** Ещё 3 страницы в брендбуке. |
||||
|
||||
--- |
||||
|
||||
## Sprint 11 — Страница Контакты и Экспериментальная секция (MVP) |
||||
|
||||
**Цель:** Последняя страница + запуск механизма экспериментов. |
||||
|
||||
### Задачи |
||||
- [ ] FE: Страница «Контакты» |
||||
- [ ] BE + DB: Модели `Component`, `Page`, `Block` в Prisma |
||||
- [ ] BE: CRUD API для компонентов (`/api/components`) |
||||
- [ ] BE: CRUD API для страниц (`/api/pages`) |
||||
- [ ] FE: Секция «Эксперименты» в брендбуке |
||||
- [ ] FE: Форма создания нового экспериментального компонента |
||||
- [ ] FE: Список экспериментальных компонентов со статусами |
||||
|
||||
**Результат спринта:** Все страницы готовы, эксперименты — базовый функционал. |
||||
|
||||
--- |
||||
|
||||
## Sprint 12 — Деплой, полировка, документация |
||||
|
||||
**Цель:** Финальный релиз и публикация. |
||||
|
||||
### Задачи |
||||
- [ ] BE + FE: Полный smoke-тест всего брендбука |
||||
- [ ] FE: Мобильная адаптация — финальная проверка всех страниц |
||||
- [ ] FE: Accessibility-аудит (WCAG AA) |
||||
- [ ] Деплой: настройка CI/CD, публикация на сервере |
||||
- [ ] Docs: Создание `docs/deployment.md` |
||||
- [ ] Docs: Обновление README.md финальными инструкциями |
||||
- [ ] Design: Финальный ревью брендбука |
||||
|
||||
**Результат спринта:** Брендбук задеплоен и доступен по URL. |
||||
|
||||
--- |
||||
|
||||
## Сводная таблица |
||||
|
||||
| Спринт | Тема | Ключевой результат | |
||||
|--------|---------------------------------------|-----------------------------------------| |
||||
| 1 | Инициализация | Запускается пустой брендбук | |
||||
| 2 | Цвета и типографика | Раздел «Фундамент» готов | |
||||
| 3 | Кнопки и форм-контролы | Базовые компоненты готовы | |
||||
| 4 | Карточки | Все карточки задокументированы | |
||||
| 5 | Hero и CEO-текст | Ключевые блоки страниц готовы | |
||||
| 6 | Врачи | Блоки о врачах готовы | |
||||
| 7 | Отзывы и новости | Контентные блоки готовы | |
||||
| 8 | Формы и модальные окна | Все формы задокументированы | |
||||
| 9 | Страницы: Главная, Заболевание | 2 страницы в брендбуке | |
||||
| 10 | Страницы: Врачи, Цены | 3 страницы в брендбуке | |
||||
| 11 | Контакты + Эксперименты MVP | Все страницы + система экспериментов | |
||||
| 12 | Деплой и полировка | Брендбук живёт в продакшне | |
||||
|
||||
--- |
||||
|
||||
## Backlog (вне основных спринтов) |
||||
|
||||
- Тёмная тема |
||||
- Экспорт компонентов в Figma |
||||
- Drag-and-drop конструктор страниц |
||||
- История версий экспериментальных компонентов |
||||
- Мультиязычность (если потребуется) |
||||
- Раздел «Логотип» (после получения вектора) |
||||
Loading…
Reference in new issue