docs: add android checklist and prioritized roadmap
Some checks are pending
CI / test (push) Has started running

This commit is contained in:
2026-03-08 22:59:33 +03:00
parent bf7b4fa3c0
commit 3c855d78a6
2 changed files with 231 additions and 0 deletions

121
docs/android-checklist.md Normal file
View File

@@ -0,0 +1,121 @@
# 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 инцидентов