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

117 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Отличный вопрос! Давайте проанализирую план и предложу улучшения:
[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
### 11. **🔗 Deep Links и Share**
- Обработка `/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