Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ConnectyCube/android-messenger-app
Chat and voice / video calling app using ConnectyCube
https://github.com/ConnectyCube/android-messenger-app
android calling chat chat-application chat-messenger messaging video-chat whatsapp
Last synced: 13 days ago
JSON representation
Chat and voice / video calling app using ConnectyCube
- Host: GitHub
- URL: https://github.com/ConnectyCube/android-messenger-app
- Owner: ConnectyCube
- License: apache-2.0
- Created: 2019-07-22T19:06:20.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-13T09:28:42.000Z (about 2 months ago)
- Last Synced: 2024-09-14T01:44:58.593Z (about 2 months ago)
- Topics: android, calling, chat, chat-application, chat-messenger, messaging, video-chat, whatsapp
- Language: Kotlin
- Homepage: https://connectycube.com
- Size: 1.01 MB
- Stars: 51
- Watchers: 11
- Forks: 23
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua)
# Chat and voice / video calling app using ConnectyCube
This project contains a chat and voice / video calling app for Android written in Kotlin and based on [ConnectyCube](https://connectycube.com/) communication platform.
## Features
- 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)## Technical specification:
- Language - [Kotlin](https://kotlinlang.org) (with using coroutines)
- Support library - [androidx](https://developer.android.com/jetpack/androidx)**Used Android Architecture Components:**
- [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - Notify views when underlying database changes
- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Manage UI-related data in a lifecycle-conscious way
- [Room](https://developer.android.com/topic/libraries/architecture/room) - Fluent SQLite database access
- [Paging](https://developer.android.com/topic/libraries/architecture/paging) - Gradually load information on demand from data source
- [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager) - Manage Android background jobs## How to run:
1. Register new account and application at
2. Put Application credentials from Overview page from to **app/src/main/java/com/connectycube/messenger/utilities/SettingsProvider.kt** class
3. Follow to 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}*.
4. To setup push notifications, do the following:
- get and set Server Key [FCM](https://developers.connectycube.com/android/push-notifications?id=configure-firebase-project-and-api-key) 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
5. Run project.
## Documentation
- [Android SDK documentation](https://developers.connectycube.com/android/)
- [Authentication and Users](https://developers.connectycube.com/android/authentication-and-users)
- [Chat API](https://developers.connectycube.com/android/messaging)
- [Video Chat API](https://developers.connectycube.com/android/videocalling)
- [Push Notifications API](https://developers.connectycube.com/android/push-notifications)## Have an issue?
Got troubles with integration? Create an issue at [Issues page](https://github.com/ConnectyCube/android-messenger-app/issues)
## License
See [LICENSE](LICENSE)