Все это приложение - часть большого проекта, который делается в рамках изучения экосистемы Android и исследование современных архитектур и подходов к разработке. Данный мессенджер подразумевает хорошую защиту пользовательских данных, и во многом похож на все популярные аналоги.
На данный момент я успел поработать с:
- Мультимодульная архитектура
- Смесь MVVM и MVI на уровне представления
- Одна Activity и много Fragments, связь между ними при помощи Navigation API
- Для работы с HTTP и Websocket API - OkHttp, Retrofit и Moshi
- Для кэширования данных - Room
- RxJava и Coroutines API
- Hilt в качестве DI фреймворка
- Релиз Android нативной версии
- Разработка и релиз IOS нативной версии
- Added pagination and caching for users on CreateChat screen, CHatList screen
- Created Drawer and removed bottom navigation bar
- Migrated on Material3
- Added FAB
- Added CAB for chats multichoice
- Bugfixes
- Very bad realization of rx java, need to study more
- added response error parsing
- вынести пагинацию
- Подумать о времени кэша
- DataStore
- migration on kts configs
- swipes on items
- remade db with caching ONLY last messages
- why ChatListFragmentViewModel trying to load next chats page on logout
- Rework AppBar with Navigation framework
- Coroutines :]
- add on drawer more info
- TextInputLayout rewrite on
- Add validation on Login screen like on Onboarding
- рефактор логина и профиля
- Add a list of my name convention in fragment and activity
- Added force refresh for users and messages
- Added simple messaging via ws
- Reworked settings page to profile page
- Redesigned login page
- Rework AppBar with Navigation framework
- Think about settings
- Coroutines :]
- TextInputLayout rewrite on
- Add validation on Login screen like on Onboarding
- Think about creating several chats
- Very bad realization of rx java, need to study more
- Add a list of my name convention in fragment and activity
- add chat to chat list
- Now we can create chats with any user which we have in DB
- Auto logining if you have already logined
- Logout button in settings, which will be moved in future
- Rework AppBar with Navigation framework
- Think about settings
- Coroutines :]
- TextInputLayout rewrite on
- Add validation on Login screen like on Onboarding
- Add functionality to buttons in actionbar
- Think about creating several chats
- Added bottom navigation
- Remade activities and fragments structures (check draw.io)
- Rework Login UI
- Add functionality to buttons in actionbar
- Think about settings
- Added Login screen
- Moved to modern API (LocalDateTime instead of Date)
- Add Settings screen
- Add functionality to buttons in actionbar
-
UI & UX
- Troubles with running lib with LocalDateTime, returned to Date
So dates in app are very bad right now :]
- Troubles with running lib with LocalDateTime, returned to Date
-
Codebase
- Added base for networking, need Alex to implement in fully
- Adding login screen
- Making dates look better
- Added basic logic of opening chat and writing messages
- Refactoring domain due to Best Practices (BP)
- Adding network infrastructure
- Adding login screen