123 lines
4.6 KiB
Markdown
123 lines
4.6 KiB
Markdown
# Android Checklist (Telegram-подобный клиент)
|
||
|
||
## 1. Базовая архитектура
|
||
- [x] Kotlin + Jetpack Compose
|
||
- [x] Модульность: `core`, `data`, `feature-*`, `app`
|
||
- [x] DI (Hilt/Koin)
|
||
- [x] MVI/MVVM + единый state/presenter слой
|
||
- [x] Coroutines + Flow + structured concurrency
|
||
- [x] Логирование (Timber/Logcat policy)
|
||
- [x] Crash reporting (Firebase Crashlytics/Sentry)
|
||
|
||
## 2. Сеть и API
|
||
- [x] Retrofit/OkHttp + auth interceptor
|
||
- [x] Авто-refresh JWT
|
||
- [x] Единая обработка ошибок API
|
||
- [x] Realtime WebSocket слой (reconnect/backoff)
|
||
- [x] Маппинг DTO -> Domain -> UI models
|
||
- [x] Версионирование API и feature flags
|
||
|
||
## 3. Локальное хранение и sync
|
||
- [x] Room для чатов/сообщений/пользователей
|
||
- [x] DataStore для настроек
|
||
- [x] Кэш медиа (Coil/Exo cache)
|
||
- [x] Offline-first чтение истории
|
||
- [x] Очередь отложенных действий (send/edit/delete)
|
||
- [x] Конфликт-резолв и reconcile после reconnect
|
||
|
||
## 4. Авторизация и аккаунт
|
||
- [x] Login/Register flow (email-first)
|
||
- [x] Verify email экран/обработка deep link
|
||
- [x] Reset password flow
|
||
- [x] Sessions list + revoke one/all
|
||
- [x] 2FA TOTP + recovery codes
|
||
- [x] Logout с полным cleanup local state
|
||
|
||
## 5. Профиль и приватность
|
||
- [x] Просмотр/редактирование профиля
|
||
- [x] Avatar upload + crop 1:1
|
||
- [x] Username/name/bio editing
|
||
- [x] Privacy settings (PM/last seen/avatar/group invites)
|
||
- [x] Blocked users management
|
||
|
||
## 6. Список чатов
|
||
- [x] Tabs/фильтры (all/private/group/channel/archive)
|
||
- [x] Pinned chats
|
||
- [x] Unread badge + mention badge `@`
|
||
- [x] Muted badge
|
||
- [x] Last message preview по типам медиа
|
||
- [x] Online indicator в private чатах
|
||
|
||
## 7. Сообщения
|
||
- [x] Отправка текста
|
||
- [x] Reply/quote
|
||
- [x] Edit (<=7 дней)
|
||
- [x] Delete for me / for all (по правам)
|
||
- [x] Forward в 1+ чатов
|
||
- [x] Reactions
|
||
- [x] Delivery/read states
|
||
|
||
## 8. Медиа и вложения
|
||
- [x] Upload image/video/file/audio
|
||
- [x] Галерея в сообщении (multi media)
|
||
- [x] Media viewer (zoom/swipe/download)
|
||
- [x] Единое контекстное меню для медиа
|
||
- [x] Voice playback waveform + speed
|
||
- [x] Audio player UI (не как voice)
|
||
- [x] Circle video playback (view-only при необходимости)
|
||
|
||
## 9. Запись голосовых
|
||
- [x] Hold-to-record
|
||
- [x] Slide up to lock
|
||
- [x] Slide left to cancel
|
||
- [x] Минимальная длина записи (>=1s)
|
||
- [x] Единый global audio focus (1 источник звука)
|
||
|
||
## 10. Группы/каналы
|
||
- [x] Create group/channel
|
||
- [x] Join/leave
|
||
- [x] Invite link (create/regenerate/join)
|
||
- [x] Roles owner/admin/member
|
||
- [x] Admin actions: add/remove/ban/unban/promote/demote
|
||
- [x] Ограничения канала: писать только owner/admin
|
||
- [x] Member visibility rules (скрытие списков/действий)
|
||
|
||
## 11. Поиск
|
||
- [x] Глобальный поиск: users/chats/messages
|
||
- [x] Поиск внутри чата inline (не модалка)
|
||
- [x] Jump to message из результатов
|
||
|
||
## 12. Уведомления
|
||
- [x] FCM push setup
|
||
- [x] Локальные уведомления для foreground
|
||
- [x] Notification channels (Android)
|
||
- [x] Deep links: open chat/message
|
||
- [x] Mention override для muted чатов
|
||
- [x] DataStore настройки уведомлений (global + per-chat override)
|
||
|
||
## 13. UI/UX и темы
|
||
- [x] Светлая/темная тема (читаемая)
|
||
- [x] Адаптивность phone/tablet
|
||
- [x] Контекстные меню без конфликтов жестов
|
||
- [x] Bottom sheets/dialog behavior consistency
|
||
- [x] Accessibility (TalkBack, dynamic type)
|
||
|
||
## 14. Безопасность
|
||
- [x] Secure token storage (EncryptedSharedPrefs/Keystore)
|
||
- [ ] Certificate pinning (опционально)
|
||
- [ ] Root/emulator policy (опционально)
|
||
- [ ] Privacy-safe logging (без токенов/PII)
|
||
|
||
## 15. Качество
|
||
- [x] Unit tests (domain/data)
|
||
- [x] UI tests (Compose test)
|
||
- [x] Integration tests для auth/chat/realtime
|
||
- [x] Performance baseline (startup, scroll, media)
|
||
- [ ] ANR/crash budget + monitoring
|
||
|
||
## 16. Релиз
|
||
- [x] CI/CD (build, test, lint, detekt)
|
||
- [ ] Internal QA build channel
|
||
- [ ] Beta rollout
|
||
- [ ] Release checklist и runbook инцидентов
|