mnemo_cards/mnemo_cards_web_v2/FUTURE_PLANS.md
2025-11-11 02:55:41 +03:00

4.8 KiB
Raw Blame History

Отличный вопрос! Давайте проанализирую план и предложу улучшения:

[1 tool called]

Проанализировав план, вижу несколько важных аспектов, которые стоит добавить или уточнить:

🔍 Что можно доработать в плане:

1. 🚨 Обработка ошибок и граничные случаи

  • Что делать, если Firebase не инициализируется?
  • Обработка протухших токенов (401 ошибки)
  • Fallback при недоступности backend
  • Retry логика для сетевых запросов
  • Graceful degradation для гостей

2. 🎮 WebView Bridge для игр (критично!)

План упоминает интеграцию с играми поверхностно, но в проекте есть сложная система payloads_shared и bridge_core. Нужно детализировать:

  • Как подключать payloads из ../games/packages/payloads_shared
  • JavaScript bridge настройка
  • Обработка событий от игр
  • Передача результатов игры в профиль

3. 💾 Кеширование данных

  • Кеш изображений карточек (CachedNetworkImage?)
  • Кеш списка тем (чтобы работало при плохом интернете)
  • Стратегия инвалидации кеша
  • IndexedDB для web?

4. 🔄 Миграция данных гостя

Важный сценарий не описан:

  • Пользователь зашел как гость, прошел несколько тестов
  • Потом авторизовался через Google
  • Как сохранить прогресс гостя?

5. 🏗️ Environment конфигурация

  • dev/staging/prod окружения
  • Разные Firebase проекты
  • Feature flags через Remote Config
  • API endpoints по окружениям

6. 🔒 Безопасность (Web специфика)

  • Где хранить токены (SecureStorage в web =?)
  • CORS настройки для API
  • CSP (Content Security Policy)
  • Защита от XSS
  • Валидация данных от backend

7. 📱 Адаптивность (детализация)

План упоминает, но нужны детали:

  • Breakpoints: mobile (<600px), tablet (600-1200px), desktop (>1200px)
  • Разные layouts для разных размеров
  • Responsive Bottom Navigation vs Side Navigation
  • Touch vs Mouse взаимодействие

8. 🧪 Тестирование

Отсутствует секция:

  • Unit тесты для State Managers
  • Тестирование Scopes (yx_scope имеет test utils)
  • Widget тесты
  • Integration тесты
  • Mock'и для Firebase и Dio

9. 📊 Аналитика (детализация событий)

Какие события логировать:

  • page_view - просмотр страниц
  • login - авторизация (с типом)
  • pack_opened - открытие темы
  • test_started / test_completed - тесты
  • game_started / game_completed - игры
  • card_favorited - добавление в избранное

10. 🚀 CI/CD и деплой

  • GitHub Actions / другой CI?
  • Автоматическая сборка при push
  • Firebase Hosting / другой хостинг?
  • Versioning и changelog
  • Обработка /pack/:id из URL
  • Share карточки / темы
  • UTM параметры для аналитики
  • Open Graph meta tags для соцсетей

12. Производительность

  • Lazy loading списков (pagination)
  • Code splitting для роутов
  • Tree shaking
  • Минимизация bundle size
  • Web Workers для тяжелых операций?

13. 🎨 UI/UX детали

  • Loading states (shimmer)
  • Empty states (нет тем, нет игр)
  • Error states (красиво показывать ошибки)
  • Animations и transitions
  • Скелетоны для загрузки

14. 📝 Логирование и мониторинг

  • Centralized logger
  • Log levels (debug, info, warning, error)
  • Firebase Crashlytics для web
  • Performance monitoring
  • User feedback механизм

15. 🌐 SEO (для web важно!)

  • Meta tags (title, description)
  • Open Graph для social media
  • Structured data (JSON-LD)
  • Sitemap generation
  • robots.txt

16. Accessibility

  • Semantic HTML
  • ARIA labels
  • Keyboard navigation
  • Screen reader support
  • Focus management