- Add multi-stage Dockerfile (node:22-alpine build → nginx:alpine serve) - Add nginx.conf for SPA routing inside container - Add .dockerignore - Deploy to dshkabatur.ru server with Docker + host Nginx + SSL (Certbot) - Live at https://diet.dshkabatur.ru Co-authored-by: Cursor <cursoragent@cursor.com>
75 lines
3.6 KiB
Markdown
75 lines
3.6 KiB
Markdown
# Diet & Healthy Weight Reference App — План разработки
|
||
|
||
## Описание проекта
|
||
|
||
Статическое веб-приложение — справочник методик похудения и поддержания здорового веса.
|
||
Полностью serverless, деплой на любой статик-хостинг (Vercel, Netlify, GitHub Pages).
|
||
|
||
## Стек технологий
|
||
|
||
- **Runtime**: Vite 6 + React 19 + TypeScript 5
|
||
- **Стили**: Tailwind CSS 4 + clsx
|
||
- **Роутинг**: React Router 7 (client-side)
|
||
- **Данные**: Статические JSON/TS модули (без API)
|
||
- **Хранение**: localStorage для закладок / настроек
|
||
- **Сборка**: Vite → статический бандл
|
||
|
||
## Архитектура
|
||
|
||
```
|
||
src/
|
||
components/ — переиспользуемые UI-компоненты
|
||
pages/ — страницы приложения
|
||
data/ — контент: методики, категории
|
||
hooks/ — кастомные React-хуки
|
||
utils/ — утилиты (расчёт BMI и др.)
|
||
types/ — TypeScript типы
|
||
assets/ — изображения, иконки
|
||
```
|
||
|
||
## Фичи (в порядке приоритета)
|
||
|
||
### Phase 1 — Фундамент
|
||
- [x] Инициализация проекта (Vite + React + TS + Tailwind)
|
||
- [x] Базовая структура приложения и роутинг
|
||
- [x] Layout: header, footer, навигация
|
||
- [x] Главная страница с обзором
|
||
|
||
### Phase 2 — Контент
|
||
- [x] Модель данных для методик
|
||
- [x] Данные: 16 методик по 5 категориям
|
||
- [x] Страница списка методик с фильтрами
|
||
- [x] Страница детальной информации о методике
|
||
|
||
### Phase 3 — Интерактивность
|
||
- [x] Поиск по методикам (instant search)
|
||
- [x] Фильтрация по категориям, сложности, эффективности
|
||
- [x] BMI-калькулятор
|
||
- [x] Закладки (favorites) через localStorage
|
||
- [x] Сравнение методик (до 3 шт)
|
||
|
||
### Phase 4 — Полировка
|
||
- [x] Тёмная / светлая тема (light/dark/system)
|
||
- [x] Адаптивный дизайн (mobile-first) + мобильное меню
|
||
- [x] ScrollToTop при навигации
|
||
- [ ] SEO мета-теги
|
||
- [x] Деплой на dshkabatur.ru (Docker + Nginx + SSL)
|
||
|
||
## Прогресс
|
||
|
||
| Дата | Что сделано | Коммит |
|
||
|------|-------------|--------|
|
||
| 2026-02-11 | Создан план, cursor rules, инициализация проекта | 673760f |
|
||
| 2026-02-11 | Каталог методик, детальные страницы, BMI калькулятор | b8dd591 |
|
||
| 2026-02-11 | Тёмная тема, мобильное меню, сравнение, ScrollToTop | 15133ec |
|
||
| 2026-02-11 | Docker-деплой на diet.dshkabatur.ru с SSL | — |
|
||
|
||
## Принципы разработки
|
||
|
||
1. **Коммит на каждую фичу** — атомарные, понятные коммиты
|
||
2. **100% агентная разработка** — cursor rules покрывают все паттерны
|
||
3. **TypeScript strict mode** — никаких `any`
|
||
4. **Переиспользуемые компоненты** — DRY
|
||
5. **Доступность (a11y)** — семантический HTML, ARIA
|
||
6. **Производительность** — lazy loading, минимум бандла
|