Requirements for the application to be developed:
- Authorization/Registration
- Creating a user chat
- Exchange of messages using websockets
The project used:
-
Ktor websockets
-
Ktor client (instead of Retrofit)
-
Jetpack Compose
-
Hilt
-
Coroutines/Flow
-
Event providers (Channels)
-
Media Player
-
Shared Preferences
Also used mongoDB and ktor server side https://github.com/IlyaSibogatov/ComposeChatExample-server
Screen for logging in or creating an account, if no account is available.
Display of the list of available rooms, creation of public and private chats, search through the list is implemented.
Realised messaging using websocket's, possibility to delete or edit own messages.
Display user's online status, self information, friends list.
Currently implemented:
-
Language change. Available in two languages - Russian - English
-
Themes change. System, Light, Dark
-
Communication with technical support (Send email)
-
Remove an account
-
Switch notification enabled
-
User logout from the account.