Files
Messenger/docs/android-checklist.md
Codex 4fa657ff7a
Some checks failed
CI / test (push) Failing after 2m14s
android: add message core tests and update checklist docs
2026-03-09 02:13:20 +03:00

4.5 KiB
Raw Blame History

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

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 чатов

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 инцидентов