Skip to content

๐Ÿ’ฌ Chat with friends nearby without internet! BitTalk enables Bluetooth messaging between Android devices with a beautiful, modern interface.

License

Notifications You must be signed in to change notification settings

chiragjagani/BitTalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BitTalk - Bluetooth Chat App for Android

BitTalk Logo

A modern, Material Design 3 Bluetooth chat application for Android devices

Features โ€ข Screenshots โ€ข Requirements โ€ข Installation โ€ข Usage โ€ข Architecture โ€ข Contributing

BitTalk โ€“ Offline Bluetooth Messaging for Android BitTalk is an open-source Android app inspired by Jack Dorseyโ€™s BitChat, bringing decentralized peer-to-peer messaging to Android devices. Built with Java and Android Studio, BitTalk uses Bluetooth for real-time communication without any servers, internet, or phone numbers.

โœ… Current Features: Real-time one-to-one messaging via Bluetooth

Automatic nearby device discovery

Material Design 3 interface

๐Ÿš€ In Development: Bluetooth LE Mesh support (multi-hop message relaying)

End-to-end encryption (X25519 + AES-256-GCM)

Store & forward: caching messages for offline peers

BitTalk aims to empower offline communication, privacy, and decentralization โ€” especially in areas with poor connectivity or surveillance concerns.

๐Ÿ“ฑ Features

  • ๐Ÿ’ฌ Real-time Messaging: Send and receive messages instantly via Bluetooth
  • ๐ŸŽจ Material Design 3: Beautiful, modern UI following Google's latest design guidelines
  • ๐Ÿ“ฑ Device Discovery: Easily find and connect to nearby Bluetooth devices
  • ๐Ÿ” Secure Connections: Direct peer-to-peer encrypted Bluetooth communication
  • ๐Ÿ“ Message History: View your conversation history during the session
  • โšก Fast & Lightweight: Optimized for performance and battery efficiency
  • ๐ŸŒ“ Theme Support: Follows system theme (Light/Dark mode)
  • โŒจ๏ธ Smart Keyboard Handling: Input field always visible when typing

๐Ÿ“ธ Screenshots

Main Screen Device Selection Chat Screen

๐Ÿ“‹ Requirements

  • Android Studio Arctic Fox or newer
  • Android device or emulator running Android 7.0 (API 24) or higher
  • Bluetooth capability on device
  • Java 17

๐Ÿš€ Installation

Clone the Repository

git clone https://github.com/yourusername/BitTalk.git
cd BitTalk

Open in Android Studio

  1. Open Android Studio
  2. Select "Open an existing Android Studio project"
  3. Navigate to the cloned repository
  4. Let Android Studio sync the project

Build and Run

  1. Connect your Android device via USB or start an emulator
  2. Enable Developer Mode and USB Debugging on your device
  3. Click the "Run" button in Android Studio
  4. Select your device and click OK

Build APK

./gradlew assembleDebug

The APK will be generated at app/build/outputs/apk/debug/app-debug.apk

๐Ÿ“– Usage

First Time Setup

  1. Install BitTalk on two Android devices
  2. Enable Bluetooth on both devices
  3. Pair the devices in system Bluetooth settings
  4. Grant permissions when prompted:
    • Bluetooth permissions
    • Location permission (for device discovery on older Android versions)

Connecting to Another Device

  1. Tap the Connect floating action button
  2. Select a device from the list of paired devices
  3. Or tap "Scan" to discover new devices
  4. Wait for connection confirmation

Sending Messages

  1. Once connected, type your message in the input field
  2. Tap the send button or press enter
  3. Messages appear in real-time on both devices

๐Ÿ—๏ธ Architecture

Project Structure

BitTalk/
โ”œโ”€โ”€ app/
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ””โ”€โ”€ main/
โ”‚           โ”œโ”€โ”€ java/com/cj/bittalk/
โ”‚           โ”‚   โ”œโ”€โ”€ MainActivity.java
โ”‚           โ”‚   โ”œโ”€โ”€ adapters/
โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€ MessageAdapter.java
โ”‚           โ”‚   โ”‚   โ””โ”€โ”€ DeviceAdapter.java
โ”‚           โ”‚   โ”œโ”€โ”€ model/
โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€ Message.java
โ”‚           โ”‚   โ”‚   โ””โ”€โ”€ Device.java
โ”‚           โ”‚   โ””โ”€โ”€ services/
โ”‚           โ”‚       โ””โ”€โ”€ BluetoothService.java
โ”‚           โ””โ”€โ”€ res/
โ”‚               โ”œโ”€โ”€ layout/
โ”‚               โ”œโ”€โ”€ values/
โ”‚               โ””โ”€โ”€ drawable/

Tech Stack

  • Language: Java
  • UI Framework: Material Design 3
  • Minimum SDK: 24 (Android 7.0)
  • Target SDK: 36 (Android 14)
  • Build System: Gradle with Kotlin DSL
  • Architecture: MVC with Service layer

Key Components

  • MainActivity: Main UI controller and permission handling
  • BluetoothService: Manages Bluetooth connections and message transmission
  • MessageAdapter: RecyclerView adapter for chat messages
  • DeviceAdapter: RecyclerView adapter for device selection

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

How to Contribute

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Style

  • Follow Android Java style guidelines
  • Use meaningful variable and method names
  • Add comments for complex logic
  • Test your changes on multiple devices

๐Ÿ”ฎ Future Enhancements

  • Bluetooth Mesh networking support
  • Group chat functionality
  • Message encryption
  • File sharing capabilities
  • Voice messages
  • Message persistence (local database)
  • Custom themes
  • Chat backup and restore
  • Typing indicators
  • Read receipts

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Your Name

๐Ÿ™ Acknowledgments

  • Material Design 3 guidelines by Google
  • Android Bluetooth documentation
  • Open source community

๐Ÿ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Include device model, Android version, and steps to reproduce

Made with โค๏ธ for the Android community

About

๐Ÿ’ฌ Chat with friends nearby without internet! BitTalk enables Bluetooth messaging between Android devices with a beautiful, modern interface.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages