docs: обновление прогресса и инструкций по деплою
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
114
PROGRESS.md
114
PROGRESS.md
@@ -1,6 +1,6 @@
|
|||||||
# Грибы Крыма — Прогресс разработки
|
# Грибы Крыма — Прогресс разработки
|
||||||
|
|
||||||
## Статус: В разработке
|
## Статус: Готово к деплою
|
||||||
|
|
||||||
## Архитектура
|
## Архитектура
|
||||||
|
|
||||||
@@ -8,27 +8,24 @@
|
|||||||
- **Framework**: Next.js 15 (App Router) + React 19
|
- **Framework**: Next.js 15 (App Router) + React 19
|
||||||
- **Language**: TypeScript (strict mode)
|
- **Language**: TypeScript (strict mode)
|
||||||
- **Styling**: Tailwind CSS 4
|
- **Styling**: Tailwind CSS 4
|
||||||
- **Data**: Статические JSON/TS файлы (без БД)
|
- **Data**: Статические TS-файлы (без БД)
|
||||||
- **Deploy**: Static export → самохост на git.dshkabatur.ru
|
- **Deploy**: Static export → Docker (nginx)
|
||||||
|
|
||||||
### Структура страниц
|
### Структура страниц
|
||||||
| Страница | Route | Описание |
|
| Страница | Route | Статус |
|
||||||
|----------|-------|----------|
|
|----------|-------|--------|
|
||||||
| Главная | `/` | Hero, избранные грибы, сезон сейчас |
|
| Главная | `/` | Готово |
|
||||||
| Энциклопедия | `/encyclopedia` | Каталог всех грибов с фильтрами |
|
| Энциклопедия | `/encyclopedia` | Готово |
|
||||||
| Карточка гриба | `/encyclopedia/[slug]` | Детальная страница гриба |
|
| Карточка гриба | `/encyclopedia/[slug]` | Готово (20 видов) |
|
||||||
| Календарь | `/calendar` | Интерактивный календарь грибника |
|
| Календарь | `/calendar` | Готово |
|
||||||
| Справочник | `/guide` | Правила сбора, советы, первая помощь |
|
| Справочник | `/guide` | Готово |
|
||||||
|
| 404 | `/*` | Готово |
|
||||||
|
|
||||||
### Компоненты
|
### Данные
|
||||||
- `Header` — навигация, логотип
|
- 20 видов грибов Крыма (14 съедобных/условно-съедобных + 6 ядовитых)
|
||||||
- `Footer` — контакты, копирайт
|
- Достоверные описания с научными названиями
|
||||||
- `MushroomCard` — карточка гриба в каталоге
|
- Календарь сезонности по месяцам
|
||||||
- `MushroomDetail` — детальная информация
|
- 6 разделов справочника грибника
|
||||||
- `SeasonCalendar` — календарь по месяцам
|
|
||||||
- `SearchBar` — поиск с автодополнением
|
|
||||||
- `FilterPanel` — фильтры (съедобность, сезон, место)
|
|
||||||
- `EdibilityBadge` — бейдж съедобности
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -37,56 +34,57 @@
|
|||||||
### Фаза 1: Настройка
|
### Фаза 1: Настройка
|
||||||
- [x] Cursor rules
|
- [x] Cursor rules
|
||||||
- [x] Файл прогресса
|
- [x] Файл прогресса
|
||||||
- [ ] Инициализация Next.js проекта
|
- [x] Инициализация Next.js проекта
|
||||||
- [ ] Настройка Tailwind CSS
|
- [x] Настройка Tailwind CSS
|
||||||
- [ ] Базовый layout (Header/Footer)
|
- [x] Базовый layout (Header/Footer)
|
||||||
|
|
||||||
### Фаза 2: Данные
|
### Фаза 2: Данные
|
||||||
- [ ] Типы TypeScript для грибов
|
- [x] Типы TypeScript для грибов
|
||||||
- [ ] База данных грибов (20+ видов Крыма)
|
- [x] База данных грибов (20 видов Крыма)
|
||||||
- [ ] Фотографии грибов
|
- [x] Фотографии грибов (Unsplash)
|
||||||
|
|
||||||
### Фаза 3: Страницы
|
### Фаза 3: Страницы
|
||||||
- [ ] Главная страница
|
- [x] Главная страница (hero + сезон + карточки)
|
||||||
- [ ] Энциклопедия (каталог + фильтры)
|
- [x] Энциклопедия (каталог + поиск + фильтры)
|
||||||
- [ ] Детальная страница гриба
|
- [x] Детальная страница гриба
|
||||||
- [ ] Календарь грибника
|
- [x] Календарь грибника (интерактивный)
|
||||||
- [ ] Справочник грибника
|
- [x] Справочник грибника
|
||||||
|
|
||||||
### Фаза 4: Полировка
|
### Фаза 4: Полировка
|
||||||
- [ ] Адаптивность (mobile/tablet/desktop)
|
- [x] Адаптивность (mobile/tablet/desktop)
|
||||||
- [ ] SEO мета-теги
|
- [x] SEO мета-теги
|
||||||
- [ ] Анимации и переходы
|
- [x] Природная цветовая палитра
|
||||||
- [ ] Accessibility проверка
|
- [x] 404 страница
|
||||||
|
|
||||||
### Фаза 5: Деплой
|
### Фаза 5: Деплой
|
||||||
- [ ] Git репозиторий
|
- [x] Docker + nginx конфигурация
|
||||||
- [ ] Деплой на сервер
|
- [x] Git репозиторий (локальный)
|
||||||
|
- [ ] Push на git.dshkabatur.ru (требуется SSH-ключ или токен)
|
||||||
|
- [ ] Запуск на сервере
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Детали реализации
|
## Инструкции по деплою
|
||||||
|
|
||||||
### Данные о грибах
|
### 1. Настроить SSH-ключ
|
||||||
Каждый гриб содержит:
|
```bash
|
||||||
- Научное название (латынь)
|
ssh-keygen -t ed25519 -C "shkabaturd@yandex.ru"
|
||||||
- Русское название (одно или несколько)
|
# Добавить публичный ключ в Gitea: Settings → SSH Keys
|
||||||
- Классификация съедобности: съедобный / условно-съедобный / несъедобный / ядовитый
|
```
|
||||||
- Описание: шляпка, ножка, мякоть, споровый порошок
|
|
||||||
- Места произрастания в Крыму
|
|
||||||
- Сезон сбора (по месяцам)
|
|
||||||
- Похожие виды (двойники)
|
|
||||||
- Фотографии
|
|
||||||
|
|
||||||
### Календарь
|
### 2. Создать репозиторий на Gitea
|
||||||
- 12 месяцев, интерактивный
|
Через веб-интерфейс https://git.dshkabatur.ru создать репозиторий `grib`
|
||||||
- При клике на месяц — список грибов сезона
|
|
||||||
- Визуальная шкала обилия (мало/средне/много)
|
|
||||||
- Текущий месяц выделен
|
|
||||||
|
|
||||||
### Справочник
|
### 3. Добавить remote и push
|
||||||
- Правила безопасного сбора
|
```bash
|
||||||
- Как отличить ядовитые от съедобных
|
cd /Users/den/src/ts/grib
|
||||||
- Первая помощь при отравлении
|
git remote add origin ssh://git@dshkabatur.ru:2222/denis/grib.git
|
||||||
- Способы приготовления
|
git push -u origin main
|
||||||
- Снаряжение грибника
|
```
|
||||||
|
|
||||||
|
### 4. На сервере
|
||||||
|
```bash
|
||||||
|
git clone ssh://git@dshkabatur.ru:2222/denis/grib.git
|
||||||
|
cd grib
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user