Talkufy
A highly advanced and encrypted open source featured chat/video calling app for android using Firebase Firestore and Jitsi Meet. With this app you can chat and make calls with Jitsi Meet.
Why this project and a chat platform?
In this era of the social media craze and internet age, where smartphones have become a core part in peoples' lives. And with millions monthly active users on advanced chat apps such as Facebook Messenger, WhatsApp, WeChat, Telegram etc. We (consumers) have started taking these awesome features as for granted. This has become a trouble and headache for developers (especially those who provide development services or freelancing) to create such feature-rich platforms in constrained time.
So, Talkufy is an open-source feature-rich chat and video/audio calling platform (initially for Android) using Firebase's Cloud Firestore database and Jitsi Meet as backend. Android Developers can easily use this platform in their apps and integrate highly advanced feature-rich chat system within a short time.
Why Cloud Firestore and not SQL?
Cloud Firestore is an extended feature of Google Firebase and a real-time document-collection based database service that is an excellent choice if you don’t want to host your own server. With Firestore, you can have our demo chat app setup and running in under 30 minutes. Firestore has a powerful dashboard that gives you access to your data and a REST API if you need to access data from your server. Some advantages of Cloud Firestore include:
- Self-Hosted
- Scalable
- Flexible Authentication
- Realtime & Fast
- Pay as you go, including Free Trial
- Cross platform SDKs
Getting Started
To get started, you have to clone this repo by pasting this line of code into git.
git clone https://github.com/scooterthedev/Talkufy-Android.git
Feature List
Here's a list of features that we plan to include overtime.
- Authentication (Email)
- Phone Number Authentication
- Text Messages
- Image Messages
- GIF Messages
- Multiple Image Messages
- Location Messages
- Audio Messages
- Video Messages
- Link/URL Preview Messages
- Reply Messages
- Emojis Support
- Online/Last Active Status
- Message Read/Receipt Ticks
- Unread Messages Count
- Group Chats
- Delete Messages
- Translating Messages from different languages
- Coping messages
- Forwarding messages/images
- Push Notifications
- Typing Indicator
- User Mentions
- Chat / Group Media, Documents, and Links
- Restore/Export from and to CSV File
- Chat Heads
- Block/Unblock Users
Features that are included in V1
- Phone Number Authentication
- Text Messages
- Block/Unblock Users
- Online/Last Active Status
- Message Read/Receipt Ticks
- Unread Messages Count
- Translating Messages from different languages
- Coping messages
- Forwarding messages/images
- Group Chats
- Reply Messages
- Emoji Support
- Online/Last Active Status
- Message Read/Receipt Ticks
- Unread Messages Count
- Delete Messages (Works for everything, but doesn't work for images without a caption)
- Video Messages (Up to 16 MB so far)
- Multiple Image Messages (Up to 5 per message)
- Location Messages
- Text Messages
- Image Messages
- Video Calling (in beta, still has major bugs)
- Audio Calling(in beta, still has major bugs)
Get involved!
We're very excited about the project, and we're looking for other people to get involved. Over time, we would like to make the best messaging framework for Android. Help is always welcome. The more that is done, the better it gets!
How to Contribute
Contributions are the best! They help us fix active bugs and help us make new features which will make the app even better!
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate. If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.
Steps to contribute:
- Fork this repository (https://github.com/scooterthedev/Talkufy-Android)
- Create your feature branch (git checkout -b )
- Commit your changes (git commit -am "Optional Message")
- Push to the branch that you just created (git push origin )
- Create a new Pull Request!
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Communication
Please feel free to PM me if you have any questions on GitHub or on Instructables
License
Copyright 2021 Talkufy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.