Skip to content

its-maneeshk/WaveChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Offline Messaging & Calling App

Overview

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.

Tech Stack

  • 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)

App Architecture

The app follows a modular structure, focusing on different layers:

  1. UI Layer (Frontend): Manages the user interface and interactions.
  2. Network Layer: Handles P2P communication via Wi-Fi Direct and Bluetooth.
  3. Data Layer: Stores messages locally and syncs them when online.
  4. 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

UI Flow

1. Welcome Screen

  • Displays app logo and a "Get Started" button.
  • On click, navigates to the Home Screen.

2. Home Screen

  • Lists nearby users detected via Wi-Fi Direct / Bluetooth.
  • Shows recent conversations.
  • Allows starting a new chat or calling a user.

3. Chat Screen

  • Displays conversation history.
  • Users can send text messages via P2P communication.
  • Messages are marked as Sent, Delivered, or Pending based on connection status.

4. Call Screen

  • Enables direct VoIP calls over Wi-Fi Direct.
  • Includes Mute, Speaker, and End Call buttons.

5. Settings Screen

  • Toggle Wi-Fi Direct / Bluetooth.
  • Enable message syncing when an internet connection is available.
  • View app version and about information.

Installation & Setup

  1. Clone the Repository:
    git clone https://github.com/your-repo/offline-messaging-app.git
    cd offline-messaging-app
  2. Install Dependencies:
    npm install  # or yarn install
  3. Run the App:
    npm start  # Starts the app

Future Enhancements

  • 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.

About

Information moves like radio waves.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published