{"id":19390225,"url":"https://github.com/connectycube/android-messenger-app","last_synced_at":"2025-04-09T08:12:17.885Z","repository":{"id":54429941,"uuid":"198286170","full_name":"ConnectyCube/android-messenger-app","owner":"ConnectyCube","description":"Chat and voice / video calling app using ConnectyCube","archived":false,"fork":false,"pushed_at":"2025-03-19T13:16:38.000Z","size":1095,"stargazers_count":55,"open_issues_count":0,"forks_count":23,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-02T06:08:14.987Z","etag":null,"topics":["android","calling","chat","chat-application","chat-messenger","messaging","video-chat","whatsapp"],"latest_commit_sha":null,"homepage":"https://connectycube.com","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ConnectyCube.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-22T19:06:20.000Z","updated_at":"2025-03-19T13:16:43.000Z","dependencies_parsed_at":"2024-02-29T09:23:57.556Z","dependency_job_id":"c3e5a6b7-d29f-402c-a3c1-f47c1348bdd1","html_url":"https://github.com/ConnectyCube/android-messenger-app","commit_stats":{"total_commits":87,"total_committers":6,"mean_commits":14.5,"dds":0.6551724137931034,"last_synced_commit":"c9ec84315aa3cd51b6b11fef6a7fe37f52fc0028"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConnectyCube%2Fandroid-messenger-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConnectyCube%2Fandroid-messenger-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConnectyCube%2Fandroid-messenger-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConnectyCube%2Fandroid-messenger-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ConnectyCube","download_url":"https://codeload.github.com/ConnectyCube/android-messenger-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999864,"owners_count":21031046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","calling","chat","chat-application","chat-messenger","messaging","video-chat","whatsapp"],"created_at":"2024-11-10T10:19:36.202Z","updated_at":"2025-04-09T08:12:17.850Z","avatar_url":"https://github.com/ConnectyCube.png","language":"Kotlin","funding_links":["https://www.buymeacoffee.com/connectycube"],"categories":[],"sub_categories":[],"readme":"[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua)\n\n# Chat and voice / video calling app using ConnectyCube\n\nThis project contains a chat and voice / video calling app for Android written in Kotlin and based on [ConnectyCube](https://connectycube.com/) communication platform.\n\n\u003cimg src=\"https://developers.connectycube.com/images/code_samples/android_codesample_messenger_demo1.jpg\" width=180 /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"https://developers.connectycube.com/images/code_samples/android_codesample_messenger_demo2.jpg\" width=180 /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"https://developers.connectycube.com/images/code_samples/android_codesample_messenger_demo3.jpg\" width=180 /\u003e\n\n## Features \n- User authorization \n- User profile and avatar\n- Chat dialogs (private and group)\n- Group chat: edit group name, description; add/remove participants; add/remove admins\n- Group chat info\n- Send messages\n- File attachments (only Image)\n- Sent/Delivered/Read messages statuses\n- ‘Is typing’ statuses\n- Video and Audio calls (p2p and group)\n\n## Technical specification:\n- Language - [Kotlin](https://kotlinlang.org) (with using coroutines)\n- Support library - [androidx](https://developer.android.com/jetpack/androidx)\n\n**Used Android Architecture Components:**\n- [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - Notify views when underlying database changes\n- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Manage UI-related data in a lifecycle-conscious way\n- [Room](https://developer.android.com/topic/libraries/architecture/room) - Fluent SQLite database access\n- [Paging](https://developer.android.com/topic/libraries/architecture/paging) - Gradually load information on demand from data source\n- [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager) - Manage Android background jobs\n\n## How to run:\n\n1. Register new account and application at \u003chttps://admin.connectycube.com\u003e\n\n2. Put **App ID** and **Authorization Key** from Credentials tab to **app/src/main/java/com/connectycube/messenger/utilities/SettingsProvider.kt** class\n\n3. Follow to \u003chttps://admin.connectycube.com\u003e 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}*.\n\n4. To setup push notifications, do the following:\n- get and set Server Key [FCM](https://developers.connectycube.com/android/push-notifications?id=configure-firebase-project-and-api-key) in ConnectyCube Dashboard\n- define **sender_id** (your sender id from google console) in string resource and put your **google-services.json** to module package\n- uncomment *apply plugin: 'com.google.gms.google-services'* line in app module **build.gradle** file. \n\nFor more information look at \u003chttps://developers.connectycube.com/android/push-notifications\u003e\n\n5. Run project.\n\n## Documentation\n\n- [Android SDK documentation](https://developers.connectycube.com/android/)\n- [Authentication and Users](https://developers.connectycube.com/android/authentication-and-users)\n- [Chat API](https://developers.connectycube.com/android/messaging)\n- [Video Chat API](https://developers.connectycube.com/android/videocalling)\n- [Push Notifications API](https://developers.connectycube.com/android/push-notifications)\n\n## Have an issue?\n\nJoin our [Discord](https://discord.com/invite/zqbBWNCCFJ) for quick answers to your questions\n\n## Community\n\n- [Blog](https://connectycube.com/blog)\n- X (twitter)[@ConnectyCube](https://x.com/ConnectyCube)\n- [Facebook](https://www.facebook.com/ConnectyCube)\n\n**Want to support our team**:\u003cbr\u003e\n\u003ca href=\"https://www.buymeacoffee.com/connectycube\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-blue.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n## License\n\nSee [LICENSE](LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnectycube%2Fandroid-messenger-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnectycube%2Fandroid-messenger-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnectycube%2Fandroid-messenger-app/lists"}