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