chore(docs & backup): update documentation to v3.0, add database backup script and update gitignore

This commit is contained in:
2026-09-22 09:25:27 +00:00
parent 50eadb4b5e
commit 6129ed26f0
5 changed files with 460 additions and 68 deletions
+127 -19
View File
@@ -1,6 +1,6 @@
# Plants vs. Zombies (ai.qpid.pro) — Backlog & To-Do List
## Текущий статус: v1.7 Released (Production)
## Текущий статус: v3.0 Released (Production Ready — 404/404 PASS)
- [x] Разведка окружения и настройка DNS (`ai.qpid.pro` -> `31.77.203.213`)
- [x] Docker + Nginx + Certbot контейнеризация
- [x] SSL Let's Encrypt автоматизация и скрипт обновления
@@ -158,27 +158,135 @@
---
## 🪴 Спринт v1.8: Дзен-Сад (Пассивный доход и улитка Стинки) и Альманах (Запланировано)
- [ ] **Дзен-Сад (Zen Garden)**:
- [ ] Выращивание растений в горшках (лейка, удобрения, граммофон)
- [ ] Пассивный доход монет каждые несколько часов (начисление монет за время отсутствия)
- [ ] Улитка Стинки (Stinky the Snail) пылесосит монеты при подкармливании шоколадом
- [ ] **Альманах пригородных растений и зомби (Suburban Almanac)**:
- [ ] Энциклопедия с описанием, статистикой и лором всех персонажей
- [ ] Секретный Зомби-Йети (дроп 4 алмазов)
## 🪴 Спринт v1.8: Дзен-Сад (Пассивный доход и улитка Стинки) и Альманах (Released)
- [x] **Дзен-Сад (Zen Garden)**:
- [x] Выращивание растений в горшках (лейка, удобрения, граммофон)
- [x] Пассивный доход монет каждые несколько часов (начисление монет за время отсутствия)
- [x] Улитка Стинки (Stinky the Snail) пылесосит монеты при подкармливании шоколадом
- [x] Автосохранение состояния сада и таймеров полива
- [x] **Альманах пригородных растений и зомби (Suburban Almanac)**:
- [x] Энциклопедия с описанием, характеристиками (урон, прочность, скорость) и лором всех персонажей
- [x] Секретный Зомби-Йети (дроп 4 алмазов при уничтожении)
- [x] Интерактивный предпросмотр анимаций и звуков в модальном окне
---
## 🎲 Спринт v1.9: «Садовый Рогалик» и Достижения (Запланировано)
- [ ] **Режим «Садовый Рогалик» (Garden Roguelike)**:
- [ ] Драфт семян и выбор 1 из 3 мощных реликвий после каждой волны (молнии, яд, взрывы)
- [ ] **Система Достижений (30+ ачивок с наградами)**:
- [ ] Зал трофеев в профиле игрока
## 🎲 Спринт v1.9: «Садовый Рогалик» и Достижения (Released)
- [x] **Режим «Садовый Рогалик» (Garden Roguelike)**:
- [x] Драфт семян и выбор 1 из 3 мощных реликвий после каждой волны (молнии, яд, взрывы, вампиризм)
- [x] Случайная генерация волн и комбинаций противников
- [x] Нарастающая сложность этажей и уникальные модификаторы поля
- [x] **Система Достижений (30+ ачивок с наградами)**:
- [x] Зал трофеев в профиле игрока (`achievements.js`)
- [x] Награды монетами и алмазами за разблокировку испытаний
- [x] Всплывающие уведомления (toasts) при выполнении достижений во время боя
---
## 👑 Спринт v2.0: Туман, Крыша, Босс Зомбосс и Лидерборды (Запланировано)
- [ ] **Биомы Туман и Крыша** с катапультами
- [ ] **Дерево Мудрости** и клавиатурные чит-коды (`mustache`, `future`, `dance`, `pinata`)
- [ ] **Финальный босс Доктор Зомбосс** на гигантском Zombot
- [ ] **Глобальные таблицы лидеров**
## 👑 Спринт v2.0: Туман, Крыша, Босс Зомбосс и Лидерборды (Released)
- [x] **Биомы Туман и Крыша**:
- [x] Биом Туман: ночной бассейн с густой пеленой, Плантерн (Plantern) и Вздуватель (Blover)
- [x] Биом Крыша: наклонный скат, Цветочный горшок (Flower Pot), Капустопульта (Cabbage-pult) и Арбузопульта (Melon-pult)
- [x] **Дерево Мудрости (Tree of Wisdom)**:
- [x] Покупка древа и подкормка удобрениями за монеты
- [x] Разблокировка скрытых клавиатурных чит-кодов (`mustache`, `future`, `dance`, `pinata`)
- [x] Интерактивный экран роста древа с подсказками Безумного Дэйва
- [x] **Финальный босс Доктор Зомбосс**:
- [x] Шагающий боевой робот Zombot с фазами атаки (ледяные шары, огненные шары, фургоны, десант)
- [x] Режим Boss Rush с отдельной шкалой здоровья и эпической музыкой
- [x] **Глобальные таблицы лидеров (Leaderboards)**:
- [x] Сохранение рекордов режимов Выживание, Боулинг и Рогалик
- [x] Топ игроков с фильтрацией по режимам
---
## 🔐 Спринт v2.5-v2.6: SQLite Auth, Server Sync, Bug Tracker Sync, Lifetime Stats (Released)
- [x] **Серверная база данных SQLite и модульная архитектура**:
- [x] Разработка [`scripts/db.py`](file:///home/kopri/agy/scripts/db.py) (таблицы `users`, `profiles`, `leaderboards`, `bugs`, WAL-режим)
- [x] Криптографическое хеширование паролей: `PBKDF2-HMAC-SHA256` (100,000 итераций) со случайной солью
- [x] CLI утилита администрирования пользователей [`scripts/manage_users.py`](file:///home/kopri/agy/scripts/manage_users.py)
- [x] **Надежная синхронизация профилей и защита от потери данных**:
- [x] Двусторонняя синхронизация через REST эндпоинты `/api/auth/save`, `/api/auth/sync`, `/api/auth/profile`
- [x] Бесшовный перенос накопленного гостевого прогресса при первой регистрации аккаунта
- [x] Гарантированное сохранение при Game Over и во всех мини-играх
- [x] Разделение и изоляция состояния подсистем (Мастерская, Дзен-сад, Древо)
- [x] **Интегрированный Bug Tracker сообщества**:
- [x] Модальное окно обратной связи в клиенте (`feedback.js`)
- [x] Санитизация HTML-тегов, валидация полей и хранение отчетов в SQLite
- [x] Публичный JSON API `/api/bugs`
- [x] **Пожизненная статистика игрока (Lifetime Stats)**:
- [x] Подсчет уничтоженных зомби, посаженных растений, собранных монет, побед и поражений
- [x] Виджет статистики в профиле игрока
---
## 🛠️ Спринт v2.7: Конфигуратор & Панель Администратора (Visual Level Editor, Audit Logs, Session Manager) (Released)
- [x] **Панель Администратора (SPA Dashboard)**:
- [x] Веб-интерфейс в каталоге [`game/configurator/`](file:///home/kopri/agy/game/configurator/index.html) с Cyberpunk Botanical темой
- [x] Защищенная авторизация по мастер-паролю администратора (`/api/admin/auth`) с выдачей bearer-токенов
- [x] Информационный дашборд статистики: число игроков, активных сессий, баг-репортов, объем БД
- [x] **Визуальный редактор 25 уровней кампании**:
- [x] Таблица базы данных [`campaign_levels`](file:///home/kopri/agy/scripts/db.py#L544-L559) со всеми 25 уровнями в 5 мирах
- [x] Интерактивный редактор волн зомби, модификаторов окружения, наград и сообщений Безумного Дэйва
- [x] Эндпоинты `/api/admin/campaign/level/save` и `/api/admin/campaign/level/reset` для сброса к заводским настройкам
- [x] Клиентская подсистема [`campaign.js`](file:///home/kopri/agy/game/js/systems/campaign.js) динамически запрашивает уровни с сервера
- [x] **Менеджер активных сессий игроков**:
- [x] Мониторинг сессий в реальном времени (`/api/admin/sessions`): токен, пользователь, IP, User-Agent, девайс, время активности
- [x] Принудительное завершение любых сессий администратором (`/api/admin/session/terminate`)
- [x] **Журнал аудита авторизаций (`login_logs`)**:
- [x] Фиксация всех попыток входа с статусами (успех, неверный пароль, rate-limit, неверный формат)
- [x] Мульти-фильтры по имени пользователя, IP-адресу и лимиту выборки (`/api/admin/logs`)
- [x] **Динамический конфигуратор баланса игры ([`config.js`](file:///home/kopri/agy/game/js/systems/config.js))**:
- [x] Таблица `game_config` и эндпоинты `/api/config`, `/api/admin/config`
- [x] Тонкая настройка множителей экономики, прочности и скорости зомби, кулдаунов растений
- [x] Встроенные баланс-пресеты: *Classic 2009*, *Hardcore*, *Turbo*, *Casual*, *Custom*
- [x] **Модерация игроков и управление безопасностью**:
- [x] Редактирование монет, уровней, сброс паролей игроков
- [x] Блокировка/разблокировка пользователей с указанием причины бана
- [x] Смена пароля администратора через панель (`/api/admin/password/change`)
---
## 🎰 Спринт v2.8: Казино Безумного Дэйва и Лаборатория Зомби (Released)
- [x] **Казино и Банк Безумного Дэйва ([`casino.js`](file:///home/kopri/agy/game/js/systems/casino.js))**:
- [x] Слот-машина с барабанами, анимацией вращения и звуковыми эффектами
- [x] 7 уникальных символов с весами и коэффициентами выплат (Подсолнух, Горох, Орех, Вишня, Алмаз, Семёрка, Мозги)
- [x] Джекпоты с начислением редких кристаллов
- [x] Банковские депозиты под сложный процент (5% в час, до 48 часов)
- [x] Система срочных займов до 2500 монет с фиксированной комиссией 10%
- [x] Автоматическое сохранение баланса депозитов, займов и статистики спинов в профиле
- [x] **Лаборатория Мутаций Зомби ([`zombielab.js`](file:///home/kopri/agy/game/js/systems/zombielab.js))**:
- [x] Полноценная 3-тир система эволюции зомби для режима «Я, Зомби»
- [x] 5 классов зомби: Обычный (Вампиризм), Конус (Шипованный шлем), Шест (Двойной прыжок), Ведро (Крио-защита), Футболист (Таран мин)
- [x] Крафт мутаций за монеты, шестеренки, био-гумус и кристаллы
- [x] Интеграция мутаций в боевую логику режима «Я, Зомби»
---
## 💾 Спринт v2.9: Автоматический бэкап базы данных и интеграция DOOM (Released)
- [x] **Автоматический бэкап и ротация SQLite базы данных ([`backup_db.py`](file:///home/kopri/agy/scripts/backup_db.py))**:
- [x] Неблокирующее создание горячих снимков через online `sqlite3.Connection.backup()`
- [x] Формат имен файлов: `backups/pvz_YYYYMMDD_HHMMSS.db`
- [x] Автоматическая ротация (pruning) с сохранением последних 7 резервных копий
- [x] CLI интерфейс с параметрами `--db`, `--dir`, `--keep` и программное API
- [x] Добавление каталога `backups/` и `*.db` в [`.gitignore`](file:///home/kopri/agy/.gitignore)
- [x] **Классический DOOM Web Edition ([`game/doom/`](file:///home/kopri/agy/game/doom/index.html))**:
- [x] Встроенная пасхалка и отдельный 3D WebGL ретро-шутер
- [x] Оригинальный статус-бар DOOM: шкалы AMMO, HEALTH, ARMOR, Arms matrix (1-7), анимированное лицо Doomguy
- [x] CRT-сканлайны, динамические эффекты урона и адаптивный рендеринг
---
## 🧪 Спринт v3.0: Комплексный тест-пайплайн (404 теста) и подготовка к релизу (Released)
- [x] **Масштабирование автономного тест-раннера ([`test_game.py`](file:///home/kopri/agy/scripts/test_game.py))**:
- [x] Расширение тестового покрытия со 215 до 404 автоматических тестов
- [x] Проверка HTTP/2, SSL-сертификатов, gzip-сжатия и безопасности заголовков
- [x] Валидация PWA манифеста, Service Worker и локального кэширования
- [x] Полный синтаксический анализ и проверка целостности JavaScript/CSS
- [x] Юнит- и интеграционные тесты боевого движка, экономики, волн, крафта и дзен-сада
- [x] Комплексное тестирование всех эндпоинтов REST API админки, конфигуратора, сессий и аудита
- [x] Тестирование модуля бэкапа базы данных и механик казино/лаборатории зомби
- [x] **Финальный прогон и верификация релиза**:
- [x] Результат выполнения: **404/404 PASSED (0 FAILED, 100% Pass Rate)**
- [x] Полная готовность проекта к промышленной эксплуатации (Production Ready)