Skip to content

holdbetter/FintechChatty

Repository files navigation

FintechChatty

Курсовой проект с курса Тинькофф Финтех.

Стек: MVI (elmslie) / Kotlin / Dagger2 / RxJava3 / Retrofit / Glide / Room / View Binding / Custom View

Описание

Приложение представляет собой мессенджер в формате дискорда / слака. Конференц-общение в топиках и стримах

Основные возможности приложения:

  • Общение в общих темах;
  • Общение в отдельных темах;
  • Добавление реакций;
  • Офлайн доступ;
  • Поиск пользователей / просмотр аккаунтов;
  • Отображение статусов пользоватей.

Screenshots | Feature demo | Sustain demo

Детали реализации

Дизайн приложения из ТЗ, работа приложения построена на REST API - тоже по ТЗ. В качестве API используется - Zulip. Для сборки проекта нужны соответствующие Credentials, contact me

Дизайн загрузочного экрана и диалога с выбором топика - личные, придуманы и нарисованы мной.

  • Single activity приложение, всё на фрагментах;
  • В качестве DI - чистый Dagger2, использую такие фичи, как Dependent Component / Custom Scopes / Assisted Inject;
  • Все экраны поддерживают состояния загрузки, обработки ошибок, демонстрации данных, демонстрации пустых данных;
  • Все экраны поддерживают офлайн доступ к данным, кэширование = Room + Glide;
  • Все экраны поддерживают swipe-to-refresh;
  • Взаимодействие с данными возможно только тогда, когда эти данные доступны пользователю, например, поиск закрыт, если данные в состоянии загрузки;
  • Все походы в сеть имеют проверку наличия сети, также в походах использую rx операторы timeout, retry;
  • Чат с сообщениями использует кастомную пагинацию;
  • Поиск данных доступен в офлайн и построен на Regex;
  • Экраны построены на CoordinatorLayout и переопределяют логику для Snackbar.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages