TMatch-mobile
Описание
Решение командного тура заключительного этапа олимпиады PROD. Мобильная часть
Языки
- Kotlin95,9%
- DM4,1%
23 дня назад
25 дней назад
24 дня назад
23 дня назад
23 дня назад
23 дня назад
23 дня назад
23 дня назад
24 дня назад
25 дней назад
месяц назад
24 дня назад
23 дня назад
24 дня назад
25 дней назад
24 дня назад
месяц назад
месяц назад
25 дней назад
25 дней назад
README.md
Tmatch
это Android-приложение, построенное на Kotlin, Jetpack Compose, Koin, Ktor и Firebase Cloud Messaging.Tmatch
Документация
- Описание функционала и статуса интеграции
- Контракт с backend
- Тестовые сценарии
- Карта критериев
- Архитектурные решения
Структура проекта
— точка входа приложения и сборка зависимостей.app— контракты домена, навигации и интеграционных gateway.api/*— реализация пользовательских фич.feature/*— работа с backend API и локальным хранением, включая регистрацию FCM device token.data/tmatch_api— общие UI-компоненты и тема.common/ui
Зависимости модулей
Реализованные MVP-экраны
показывает ленту рекомендаций и входящие лайки.feature:matchingпокрывает собственный профиль и просмотр карточки пользователя.feature:profileпокрывает список чатов, экран самого чата, локальный кэш сообщений и realtime-обновление через websocket stream.feature:chats
Текущий backend-контракт чатов в MVP возвращает , поэтому список чатов отображает имя и фото собеседника вместе с превью последнего сообщения. Данные чатов и сообщений кэшируются в Room, UI читает их через other_user_card из локальной БД, а экран чата поддерживает websocket stream для входящих сообщений и пагинированную догрузку истории через Flow. Unread-счётчики и read-status по-прежнему отсутствуют в контракте.GET /chats/{chat_id}/messages
Интеграции
- Firebase Cloud Messaging используется для получения push-сообщений.
- FCM device token регистрируется на backend через
.POST /notifications/devices - Входящие push-сообщения логируются и отображаются как системные уведомления; на Android 13+ показ зависит от разрешения
.POST_NOTIFICATIONS
APK
- Debug APK: app/debug/app-debug.apk
- Release APK: app/release/app-release.apk
Архитектура
Описание принятых архитектурных решений находится в ADR.md.