# Котограм — план модернизации Идеи для последующих доработок, сгруппированные по направлениям. --- ## Функционал ### Социальное взаимодействие - **Подписки на пользователей** — лента только из постов тех, на кого подписан; отдельная вкладка «Все». - **Реакции вместо лайков** — несколько эмодзи (❤️ 😂 😮 😢 🔥), каждый даёт разное кол-во очков. - **Репосты / поделиться** — пользователь может поделиться ссылкой на пост или репостнуть к себе в профиль. - **Упоминания @username** в комментариях с уведомлением (push или in-app badge). - **Теги #хэштеги** на фотографиях и фильтрация ленты по тегу. ### Контент - **Сторис (истории)** — публикация на 24 часа, круговые аватарки с индикатором непросмотренной истории. - **Карусель фотографий** — несколько фото в одном посте (swipe). - **Видео поддержка** — короткие видео до 30 сек (mp4, mov), хранение в `uploads/`. - **Черновики** — сохранить пост не публикуя. - **Редактирование подписи** к своему посту. ### Профиль - **Bio / описание** — поле до 150 символов в профиле. - **Верификация** — значок ✓ для доверенных аккаунтов, назначается администратором. - **Статистика профиля** — охват, просмотры за 7/30 дней. - **Закреплённые посты** — возможность закрепить 1 пост вверху профиля. ### Поиск и открытие - **Страница «Обзор»** — сетка популярных постов (по лайкам за 7 дней) как на вкладке «Explore» в Instagram. - **Поиск пользователей** по username. - **Лента трендов** — ТОП-10 котов недели в sidebar. ### Уведомления - **In-app уведомления** — новый лайк, комментарий, подписчик (real-time через WebSocket или polling). - **Push-уведомления** (PWA) — с разрешения пользователя. --- ## Интерфейс и UX ### Навигация - **Мобильный bottom navigation bar** — иконки Лента / Поиск / Загрузить / Уведомления / Профиль. - **Жест swipe** между постами на мобильном (как в Instagram Stories). - **Keyboard shortcuts** для десктопа: `L` — лайк, `Esc` — закрыть модал, стрелки — следующий/предыдущий пост. ### Карточка поста - **Двойной тап — лайк** (как в Instagram), с анимацией большого сердца поверх фото. - **Lazy loading** с blur placeholder пока грузится изображение. - **Zoom** по клику/пинчу на фото. ### Профиль - **Grid-режим** фотографий (3 колонки) как в Instagram по умолчанию, переключатель на список. - **Анимированный аватар** — возможность загрузить gif. ### Тёмная / светлая тема - Тема уже есть. Добавить **«Авто» по системной теме** (уже `prefers-color-scheme`, но сделать переключатель 3-позиционный). ### Доступность - Описания (`alt` тексты) генерировать через API Claude Vision как подсказку при загрузке. - Навигация с клавиатуры для всех интерактивных элементов. --- ## Производительность - **CDN для изображений** — вынести `uploads/` на Cloudflare R2 / S3, раздавать через CDN. - **WebP конвертация** — уже есть sharp; конвертировать в WebP вместо JPEG (меньше размер при том же качестве), отдавать JPEG как fallback. - **Мигрировать с sql.js на better-sqlite3** — нативный SQLite, не держит весь файл БД в RAM, в 10-20x быстрее на записи. - **Redis кэш** для топа пользователей и трендовых постов (sidebar), TTL 5 минут. - **Виртуальный список** (react-virtual / @tanstack/virtual) в ленте при 100+ постов — не рендерить вне viewport. --- ## Безопасность (дополнительно) - **2FA / TOTP** — опционально для аккаунтов. - **Чёрный список слов** в комментариях (модерация). - **Жалоба на пост** — кнопка «Пожаловаться», уведомление администратору. - **Автоматическое удаление сессий** — логаут всех активных сессий при смене пароля. - **Сканирование загружаемых файлов** на вирусы через ClamAV (опционально). --- ## Инфраструктура - **Docker** — `docker-compose.yml` для локальной разработки и VPS деплоя. - **GitHub Actions CI** — автоматический билд и тест при push. - **Автоматические бэкапы БД** — cron на сервере каждые 6 часов копирует `data.db` в `/backups/`. - **Health-check endpoint** уже есть (`/api/health`). Подключить к uptime-мониторингу (UptimeRobot / Betterstack). - **Логирование** — структурированные JSON-логи через `pino` или `winston` вместо `console.log`. --- ## Геймификация и монетизация - **Рейтинговые лиги** — Bronze / Silver / Gold / Diamond по кол-ву очков. - **Достижения** — «Первый кот», «100 лайков», «Месяц на сайте» и т.д. с иконками-бейджами в профиле. - **Ежедневные задания** — «Поставь 5 лайков сегодня» за бонусные очки. - **Донаты / супер-лайки** — платный лайк с особым отображением (опционально через Stripe/YooKassa).