This project contains a chat and voice / video calling app for Android written in Kotlin and based on ConnectyCube communication platform.
- User authorization
- User profile and avatar
- Chat dialogs (private and group)
- Group chat: edit group name, description; add/remove participants; add/remove admins
- Group chat info
- Send messages
- File attachments (only Image)
- Sent/Delivered/Read messages statuses
- ‘Is typing’ statuses
- Video and Audio calls (p2p and group)
Used Android Architecture Components:
- LiveData - Notify views when underlying database changes
- ViewModel - Manage UI-related data in a lifecycle-conscious way
- Room - Fluent SQLite database access
- Paging - Gradually load information on demand from data source
- WorkManager - Manage Android background jobs
-
Register new account and application at https://admin.connectycube.com
-
Put Application credentials from Overview page from https://admin.connectycube.com/account/settings to app/src/main/java/com/connectycube/messenger/utilities/SettingsProvider.kt class
-
Follow to https://admin.connectycube.com and create users in Users module. Then put to the app/src/main/assets/user_configiration.json file at least 2 and max 5 users with format ["login":{"password":userId}], for ex. "userchatLogin1":{"userchatPassword1":310}.
-
To setup push notifications, do the following:
- get and set Server Key FCM in ConnectyCube Dashboard
- define sender_id (your sender id from google console) in string resource and put your google-services.json to module package
- uncomment apply plugin: 'com.google.gms.google-services' line in app module build.gradle file.
For more information look at https://developers.connectycube.com/android/push-notifications
- Run project.
Got troubles with integration? Create an issue at Issues page
See LICENSE