This project is a mobile application that enables offline messaging and calling without relying on mobile networks. It utilizes Wi-Fi Direct and Bluetooth for peer-to-peer (P2P) communication and allows opportunistic syncing when an internet connection is available.
- Frontend: React Native (for mobile), TailwindCSS (for styling)
- Backend: Node.js with Express (for optional cloud syncing)
- Database: Local Storage (AsyncStorage) + Firebase (for online backup)
- Networking: Wi-Fi Direct, Bluetooth, WebRTC (optional for internet-based syncing)
The app follows a modular structure, focusing on different layers:
- UI Layer (Frontend): Manages the user interface and interactions.
- Network Layer: Handles P2P communication via Wi-Fi Direct and Bluetooth.
- Data Layer: Stores messages locally and syncs them when online.
- Backend API (Optional): If cloud sync is enabled, this API facilitates message backup and retrieval.
π project-root/
βββ π src/
β βββ π components/ # Reusable UI components (buttons, inputs, etc.)
β βββ π screens/ # Home, Chat, Call, Settings screens
β βββ π services/ # Wi-Fi Direct & Bluetooth connection handlers
β βββ π utils/ # Helper functions for networking & storage
β βββ App.js # Main entry point
βββ π backend/ # Optional cloud syncing backend
βββ README.md # Project Documentation
- Displays app logo and a "Get Started" button.
- On click, navigates to the Home Screen.
- Lists nearby users detected via Wi-Fi Direct / Bluetooth.
- Shows recent conversations.
- Allows starting a new chat or calling a user.
- Displays conversation history.
- Users can send text messages via P2P communication.
- Messages are marked as Sent, Delivered, or Pending based on connection status.
- Enables direct VoIP calls over Wi-Fi Direct.
- Includes Mute, Speaker, and End Call buttons.
- Toggle Wi-Fi Direct / Bluetooth.
- Enable message syncing when an internet connection is available.
- View app version and about information.
- Clone the Repository:
git clone https://github.com/your-repo/offline-messaging-app.git cd offline-messaging-app - Install Dependencies:
npm install # or yarn install - Run the App:
npm start # Starts the app
- File Sharing via Wi-Fi Direct
- Group Chats using Mesh Networking
- End-to-End Encryption for secure messaging
π Contributions are welcome! Feel free to open an issue or submit a PR.