An open API service indexing awesome lists of open source software.

https://github.com/pranav291/ghost-messenger

๐Ÿ‘ป Ghost Messenger - A privacy-first, open-source messaging app with disappearing messages, end-to-end encryption, and Ghost Mode. Built with Kotlin, Jetpack Compose, and Ktor backend
https://github.com/pranav291/ghost-messenger

android chat end-to-end-encryption jetpack-compose- kotlin kotlin-android ktor messager mongodb- telegram websocket whatsapp

Last synced: about 2 months ago
JSON representation

๐Ÿ‘ป Ghost Messenger - A privacy-first, open-source messaging app with disappearing messages, end-to-end encryption, and Ghost Mode. Built with Kotlin, Jetpack Compose, and Ktor backend

Awesome Lists containing this project

README

          

๐Ÿ‘ป Ghost Messenger


Privacy-First โ€ข Open Source โ€ข Next Generation Messaging


Version
Release
License
Platform



Telegram


GitHub


Kotlin
Compose
Ktor
MongoDB
WebSocket

---

> โš ๏ธ **WORK IN PROGRESS** - This project is under active development. Features may change, and some functionality might not be fully implemented yet. We welcome contributions and feedback!

---

## ๐Ÿ“– Table of Contents

- [About](#-about-ghost-messenger)
- [Vision & Mission](#-vision--mission)
- [Key Features](#-key-features)
- [Architecture](#-architecture)
- [Tech Stack](#-tech-stack)
- [Getting Started](#-getting-started)
- [API Documentation](#-api-documentation)
- [Development Timeline](#-development-timeline)
- [Roadmap](#-roadmap)
- [Contributing](#-contributing)
- [Support](#-support)
- [License](#-license)

---

## ๐ŸŒŸ About Ghost Messenger


Ghost Messenger Logo

**Ghost Messenger** is a revolutionary, privacy-focused messaging application that puts user security and data protection at the forefront. Built from the ground up with modern technologies, Ghost Messenger offers a unique "Ghost Mode" feature that allows messages to disappear after a set time, ensuring your conversations remain truly private.

In an era where digital privacy is increasingly compromised, Ghost Messenger stands as a beacon of hope for users who value their personal data. Unlike mainstream messaging apps that harvest user data for advertising, Ghost Messenger is committed to a privacy-first approach with end-to-end encryption and zero data collection policies.

### Why Ghost Messenger?

| Problem | Our Solution |
|---------|--------------|
| Messages stored forever on servers | **Ghost Mode** - Messages auto-delete after set time |
| Companies selling your data | **Zero data collection** - We don't track you |
| Complex, bloated apps | **Clean, minimal UI** - Focus on what matters |
| Closed source, no transparency | **Open source** - Audit our code yourself |
| No control over your data | **Full user control** - Delete anything, anytime |

---

## ๐ŸŽฏ Vision & Mission

### Our Vision
To create a world where digital communication is truly private, secure, and under the complete control of users - not corporations.

### Our Mission
- **Democratize Privacy**: Make enterprise-grade security accessible to everyone
- **Empower Users**: Give complete control over personal data and conversations
- **Foster Trust**: Build transparent, open-source software that users can verify
- **Innovate Responsibly**: Push the boundaries of messaging technology while respecting user privacy

### Core Values
1. **Privacy First** - Every feature is designed with privacy as the primary consideration
2. **Transparency** - Open source code, clear policies, no hidden agendas
3. **User Empowerment** - You own your data, you control your experience
4. **Security by Design** - Not an afterthought, but the foundation
5. **Simplicity** - Powerful features wrapped in an intuitive interface

---

## โœจ Key Features

### ๐Ÿ’ฌ Core Messaging

**Real-time Communication**
- Instant message delivery via WebSocket
- Typing indicators show when contacts are composing
- Read receipts with blue double-tick
- Online/offline status indicators
- Message delivery confirmation

**Rich Media Support**
- Share images, videos, and documents
- Voice message recording and playback
- Location sharing with map preview
- Contact card sharing
- File attachments up to 100MB

### ๐Ÿ‘ป Ghost Mode (Signature Feature)


Ghost Mode Demo

Ghost Mode is what sets us apart. Enable it on any conversation to make messages automatically disappear:

| Duration | Use Case |
|----------|----------|
| **5 minutes** | Quick, sensitive information |
| **1 hour** | Time-sensitive discussions |
| **24 hours** | Daily conversations |
| **7 days** | Extended but temporary chats |
| **Custom** | Set your own duration |

**Additional Ghost Mode Features:**
- ๐Ÿ”” Screenshot detection alerts
- ๐Ÿšซ Forward prevention option
- ๐Ÿ‘๏ธ View-once media
- ๐Ÿ”’ No server-side message storage

### ๐Ÿ“ž Voice & Video Calls

| Feature | Description |
|---------|-------------|
| **HD Voice Calls** | Crystal clear audio with noise cancellation |
| **Video Calls** | Up to 1080p video quality |
| **Group Calls** | Up to 8 participants |
| **Call Recording** | Record important calls (with consent) |
| **Screen Sharing** | Share your screen during video calls |

### ๐Ÿ” Smart Search

- **Global Search**: Find messages, contacts, and media across all chats
- **In-Chat Search**: Search within specific conversations
- **Filter by Type**: Images, videos, documents, links
- **Date Range**: Find messages from specific time periods

### ๐Ÿ“ข Channels & Groups

**Channels** - Broadcast to unlimited subscribers
- Public or private channels
- Admin-only posting option
- Subscriber analytics
- Scheduled posts

**Groups** - Collaborate with up to 200,000 members
- Multiple admin levels
- Polls and surveys
- Pinned messages
- Slow mode option

---

## ๐Ÿ—๏ธ Architecture

Ghost Messenger follows a clean, modular architecture designed for scalability, maintainability, and testability.

### System Overview

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ GHOST MESSENGER ECOSYSTEM โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ ANDROID APPLICATION โ”‚ โ”‚
โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ PRESENTATION LAYER โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ Screens โ”‚ โ”‚ViewModelsโ”‚ โ”‚ State โ”‚ โ”‚ UI โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚(Compose)โ”‚ โ”‚ (MVVM) โ”‚ โ”‚ Flows โ”‚ โ”‚ Events โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ DOMAIN LAYER โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚Use Casesโ”‚ โ”‚Repositoriesโ”‚ โ”‚ Models โ”‚ โ”‚Interfacesโ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ DATA LAYER โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ Room โ”‚ โ”‚ Retrofitโ”‚ โ”‚WebSocketโ”‚ โ”‚DataStoreโ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ DB โ”‚ โ”‚ API โ”‚ โ”‚ Client โ”‚ โ”‚ Prefs โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”‚ โ”‚
โ”‚ โ–ผ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ KTOR BACKEND SERVER โ”‚ โ”‚
โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ API LAYER (REST) โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ Auth โ”‚ โ”‚ Message โ”‚ โ”‚ Call โ”‚ โ”‚ Channel โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ Routes โ”‚ โ”‚ Routes โ”‚ โ”‚ Routes โ”‚ โ”‚ Routes โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ REAL-TIME LAYER (WebSocket) โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ Chat โ”‚ โ”‚ Typing โ”‚ โ”‚ Online โ”‚ โ”‚ Call โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ Server โ”‚ โ”‚ Events โ”‚ โ”‚ Status โ”‚ โ”‚Signalingโ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ DATA LAYER โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ MongoDB โ”‚ โ”‚ S3 โ”‚ โ”‚ Redis โ”‚ โ”‚ FCM โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚Database โ”‚ โ”‚ Storage โ”‚ โ”‚ Cache โ”‚ โ”‚ Push โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚
โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

---

## ๐Ÿ› ๏ธ Tech Stack

### Android Application

| Technology | Purpose | Why We Chose It |
|------------|---------|-----------------|
| **Kotlin** | Primary Language | Modern, concise, null-safe, officially supported by Google |
| **Jetpack Compose** | UI Framework | Declarative UI, less boilerplate, better performance |
| **Hilt** | Dependency Injection | Official DI solution, compile-time verification |
| **Room** | Local Database | Type-safe SQLite abstraction, LiveData/Flow support |
| **Retrofit** | HTTP Client | Industry standard, type-safe, easy to use |
| **OkHttp** | WebSocket Client | Reliable, efficient, great interceptor support |
| **DataStore** | Preferences | Modern replacement for SharedPreferences |
| **Coil** | Image Loading | Kotlin-first, lightweight, Compose support |
| **Navigation Compose** | Navigation | Type-safe navigation, deep linking support |

### Backend Server

| Technology | Purpose | Why We Chose It |
|------------|---------|-----------------|
| **Kotlin** | Primary Language | Shared language with Android, coroutines support |
| **Ktor** | Web Framework | Lightweight, async, Kotlin-native |
| **MongoDB** | Database | Flexible schema, horizontal scaling, JSON-like documents |
| **JWT** | Authentication | Stateless, secure, industry standard |
| **WebSocket** | Real-time | Bi-directional, low latency communication |
| **AWS S3** | File Storage | Scalable, reliable, cost-effective |
| **Firebase FCM** | Push Notifications | Reliable delivery, cross-platform |

### Development Tools

| Tool | Purpose |
|------|---------|
| **Android Studio** | IDE |
| **IntelliJ IDEA** | Backend IDE |
| **Git** | Version Control |
| **GitHub Actions** | CI/CD |
| **Docker** | Containerization |
| **Postman** | API Testing |

---

## ๐Ÿš€ Getting Started

### Prerequisites

Before you begin, ensure you have the following installed:

- **Android Studio** Hedgehog (2023.1.1) or later
- **JDK 17** or higher
- **MongoDB 6.0+** (local or Atlas)
- **Kotlin 1.9+**
- **Gradle 8.0+**

### Clone the Repository

```bash
git clone https://github.com/pranav291/ghost-messenger.git
cd ghost-messenger
```

### Backend Setup

1. **Navigate to backend directory**
```bash
cd backend
```

2. **Configure environment variables**
Create `src/main/resources/application.conf`:
```hocon
ktor {
deployment {
port = 8080
}
application {
modules = [ com.pranavajay.ApplicationKt.module ]
}
}

mongodb {
connectionString = "mongodb://localhost:27017"
database = "ghost_messenger"
}

jwt {
secret = "your-super-secret-key-min-32-chars"
issuer = "ghost-messenger"
audience = "ghost-users"
realm = "Ghost Messenger"
}

aws {
accessKey = "your-aws-access-key"
secretKey = "your-aws-secret-key"
region = "ap-south-1"
bucket = "ghost-messenger-media"
}
```

3. **Run the server**
```bash
./gradlew run
```
Server starts at `http://localhost:8080`

4. **Verify installation**
```bash
curl http://localhost:8080/health
# Should return: OK
```

### Android Setup

1. **Open in Android Studio**
- File โ†’ Open โ†’ Select the `app` folder

2. **Configure API URL**
Update `app/src/main/java/.../di/AppModule.kt`:
```kotlin
// For emulator
private const val BASE_URL = "http://10.0.2.2:8080/"

// For physical device (replace with your IP)
// private const val BASE_URL = "http://192.168.1.100:8080/"
```

3. **Build and Run**
```bash
./gradlew assembleDebug
```
Or use Android Studio's Run button (Shift+F10)

---

## ๐Ÿ“ก API Documentation

### Base URL
```
Production: https://api.ghostmessenger.app/
Development: http://localhost:8080/
```

### Authentication

All authenticated endpoints require a Bearer token in the Authorization header:
```
Authorization: Bearer
```

### Endpoints Overview

๐Ÿ” Authentication

| Method | Endpoint | Description |
|--------|----------|-------------|
| `POST` | `/api/auth/register` | Register new user |
| `POST` | `/api/auth/login` | Login with email/password |
| `POST` | `/api/auth/verify-otp` | Verify OTP code |
| `POST` | `/api/auth/google` | Google OAuth login |
| `POST` | `/api/auth/refresh` | Refresh access token |
| `POST` | `/api/auth/logout` | Logout and invalidate token |

๐Ÿ’ฌ Chats & Messages

| Method | Endpoint | Description |
|--------|----------|-------------|
| `GET` | `/api/chats` | Get all user's chats |
| `POST` | `/api/chats` | Create new chat |
| `GET` | `/api/messages/{chatId}` | Get messages for chat |
| `POST` | `/api/messages` | Send message |
| `POST` | `/api/messages/forward` | Forward message |
| `DELETE` | `/api/messages/{id}` | Delete message |
| `PUT` | `/api/chats/{id}/ghost-mode` | Toggle ghost mode |
| `PUT` | `/api/chats/{id}/pin` | Pin/unpin chat |
| `PUT` | `/api/chats/{id}/archive` | Archive chat |

๐Ÿ“ž Calls

| Method | Endpoint | Description |
|--------|----------|-------------|
| `POST` | `/api/calls/initiate` | Start a call |
| `POST` | `/api/calls/{id}/accept` | Accept incoming call |
| `POST` | `/api/calls/{id}/decline` | Decline call |
| `POST` | `/api/calls/{id}/end` | End ongoing call |
| `GET` | `/api/calls/history` | Get call history |

๐Ÿ“ข Channels

| Method | Endpoint | Description |
|--------|----------|-------------|
| `GET` | `/api/channels` | Get subscribed channels |
| `POST` | `/api/channels` | Create channel |
| `POST` | `/api/channels/{id}/subscribe` | Subscribe to channel |
| `POST` | `/api/channels/{id}/unsubscribe` | Unsubscribe |
| `GET` | `/api/channels/search` | Search public channels |

๐Ÿ“Š Status/Stories

| Method | Endpoint | Description |
|--------|----------|-------------|
| `GET` | `/api/status/me` | Get my statuses |
| `GET` | `/api/status` | Get contacts' statuses |
| `POST` | `/api/status` | Create status |
| `POST` | `/api/status/{id}/view` | Mark as viewed |
| `POST` | `/api/status/{id}/react` | React to status |
| `DELETE` | `/api/status/{id}` | Delete status |

### WebSocket Events

Connect to: `ws://localhost:8080/chat?token=`

**Client โ†’ Server:**
```json
{ "type": "message", "data": { "chatId": "...", "content": "Hello!" } }
{ "type": "typing", "data": { "chatId": "...", "isTyping": true } }
{ "type": "read", "data": { "chatId": "...", "messageId": "..." } }
```

**Server โ†’ Client:**
```json
{ "type": "message", "data": { "id": "...", "content": "...", ... } }
{ "type": "typing", "data": { "userId": "...", "isTyping": true } }
{ "type": "online_status", "data": { "userId": "...", "isOnline": true } }
{ "type": "incoming_call", "data": { "callId": "...", "callerId": "..." } }
```

---

## ๐Ÿ“… Development Timeline

### The Journey So Far

```
2022 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”‚
โ”œโ”€โ”€ Q1: ๐Ÿ’ก Concept & Research
โ”‚ - Market research on messaging apps
โ”‚ - Privacy concerns analysis
โ”‚ - Initial concept development
โ”‚ - Technology stack evaluation
โ”‚
โ”œโ”€โ”€ Q2: ๐Ÿ“ Planning & Design
โ”‚ - UI/UX wireframes
โ”‚ - Database schema design
โ”‚ - API architecture planning
โ”‚ - Security protocol research
โ”‚
โ”œโ”€โ”€ Q3: ๐Ÿ—๏ธ Foundation
โ”‚ - Project setup
โ”‚ - Basic authentication system
โ”‚ - Database integration
โ”‚ - Initial UI components
โ”‚
โ””โ”€โ”€ Q4: ๐Ÿ’ฌ Core Messaging
- Real-time messaging via WebSocket
- Message persistence
- Basic chat UI
- User profiles

2023 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”‚
โ”œโ”€โ”€ Q1: ๐Ÿ‘ป Ghost Mode Development
โ”‚ - Disappearing messages logic
โ”‚ - Timer implementation
โ”‚ - Screenshot detection research
โ”‚ - Message expiry system
โ”‚
โ”œโ”€โ”€ Q2: ๐Ÿ“ž Voice & Video Calls
โ”‚ - WebRTC integration
โ”‚ - Call signaling server
โ”‚ - Audio/video streaming
โ”‚ - Call UI implementation
โ”‚
โ”œโ”€โ”€ Q3: ๐Ÿ“ข Groups & Channels
โ”‚ - Group chat functionality
โ”‚ - Channel broadcasting
โ”‚ - Admin management
โ”‚ - Member permissions
โ”‚
โ””โ”€โ”€ Q4: ๐Ÿ” Security Enhancements
- End-to-end encryption
- Biometric authentication
- App lock feature
- Security audit

2024 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”‚
โ”œโ”€โ”€ Q1: ๐Ÿ“Š Status/Stories
โ”‚ - 24-hour stories
โ”‚ - Text/image/video status
โ”‚ - Viewer analytics
โ”‚ - Reactions system
โ”‚
โ”œโ”€โ”€ Q2: ๐Ÿ” Search & Discovery
โ”‚ - Global search
โ”‚ - Message search
โ”‚ - User discovery
โ”‚ - Channel discovery
โ”‚
โ”œโ”€โ”€ Q3: ๐ŸŽจ UI/UX Overhaul
โ”‚ - Material Design 3
โ”‚ - Dark/Light themes
โ”‚ - Animations
โ”‚ - Accessibility improvements
โ”‚
โ””โ”€โ”€ Q4: ๐Ÿงช Testing & Optimization
- Unit testing
- Integration testing
- Performance optimization
- Bug fixes

2025 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”‚
โ”œโ”€โ”€ Q1: ๐Ÿ“ฑ Beta Release Preparation
โ”‚ - Feature freeze
โ”‚ - Beta testing program
โ”‚ - User feedback collection
โ”‚ - Critical bug fixes
โ”‚
โ”œโ”€โ”€ Q2: ๐ŸŒ Internationalization
โ”‚ - Multi-language support
โ”‚ - RTL layout support
โ”‚ - Regional compliance
โ”‚ - Localized content
โ”‚
โ”œโ”€โ”€ Q3: โ˜๏ธ Cloud Infrastructure
โ”‚ - AWS deployment
โ”‚ - Auto-scaling setup
โ”‚ - CDN integration
โ”‚ - Backup systems
โ”‚
โ””โ”€โ”€ Q4: ๐Ÿ”” Push Notifications
- FCM integration
- Notification channels
- Silent notifications
- Notification preferences

2026 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”‚
โ”œโ”€โ”€ Q1: ๐Ÿ’พ Offline Mode
โ”‚ - Local message caching
โ”‚ - Offline message queue
โ”‚ - Sync on reconnect
โ”‚ - Conflict resolution
โ”‚
โ”œโ”€โ”€ Q2: ๐Ÿ“ค Backup & Restore
โ”‚ - Cloud backup
โ”‚ - Local backup
โ”‚ - Encrypted backups
โ”‚ - Cross-device restore
โ”‚
โ”œโ”€โ”€ Q3: ๐Ÿ–ฅ๏ธ Multi-Device Support
โ”‚ - Device linking
โ”‚ - Session management
โ”‚ - Sync across devices
โ”‚ - Device authorization
โ”‚
โ””โ”€โ”€ Q4: ๐ŸŽฏ Final Polish
- Performance tuning
- UI refinements
- Documentation
- Release preparation

2027 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”‚
โ””โ”€โ”€ ๐Ÿ“… February 22, 2027: ๐Ÿš€ OFFICIAL RELEASE v1.0.0
- Public launch on Google Play Store
- Press release
- Marketing campaign
- Community launch event
```

---

## ๐Ÿ—บ๏ธ Roadmap

### Completed โœ…

| Phase | Features | Status |
|-------|----------|--------|
| **Phase 1** | Core Messaging, Authentication, Basic UI | โœ… Complete |
| **Phase 2** | Ghost Mode, Reactions, Reply/Forward | โœ… Complete |
| **Phase 3** | Voice/Video Calls, Search | โœ… Complete |
| **Phase 4** | Status/Stories, Channels, Groups | โœ… Complete |
| **Phase 5** | Security (Biometric, App Lock, E2E) | โœ… Complete |

### In Progress ๐Ÿ”„

| Phase | Features | Progress |
|-------|----------|----------|
| **Phase 6** | Settings, Notifications, Polish | 80% |

### Planned ๐Ÿ“‹

| Phase | Features | Target |
|-------|----------|--------|
| **Phase 7** | Push Notifications (FCM) | Q4 2025 |
| **Phase 8** | Offline Mode | Q1 2026 |
| **Phase 9** | Backup & Restore | Q2 2026 |
| **Phase 10** | Multi-Device Sync | Q3 2026 |
| **Phase 11** | iOS Version | 2027 |
| **Phase 12** | Desktop Apps | 2027 |
| **Phase 13** | Web Version | 2028 |

### Future Vision ๐Ÿ”ฎ

**2027 Predictions:**
- ๐Ÿค– AI-powered smart replies
- ๐ŸŒ Real-time translation
- ๐ŸŽฎ In-chat mini games
- ๐Ÿ’ฐ Integrated payments

**2028 Predictions:**
- ๐Ÿฅฝ AR/VR messaging
- ๐Ÿง  Sentiment analysis
- ๐Ÿ”— Blockchain verification
- ๐ŸŒ Decentralized architecture

---

## ๐Ÿค Contributing

We love contributions! Ghost Messenger is an open-source project, and we welcome developers of all skill levels.

### How to Contribute

1. **Fork the Repository**
```bash
git clone https://github.com/YOUR_USERNAME/ghost-messenger.git
```

2. **Create a Feature Branch**
```bash
git checkout -b feature/amazing-feature
```

3. **Make Your Changes**
- Follow our coding standards
- Write tests for new features
- Update documentation

4. **Commit Your Changes**
```bash
git commit -m "feat: add amazing feature"
```
We follow [Conventional Commits](https://www.conventionalcommits.org/)

5. **Push and Create PR**
```bash
git push origin feature/amazing-feature
```
Then open a Pull Request on GitHub

### Contribution Guidelines

- **Code Style**: Follow Kotlin coding conventions
- **Documentation**: Update README and code comments
- **Testing**: Add unit tests for new features
- **Commits**: Use meaningful commit messages
- **PRs**: Keep pull requests focused and small

### Areas We Need Help

- ๐Ÿ› Bug fixes
- ๐Ÿ“ Documentation improvements
- ๐ŸŒ Translations
- ๐Ÿงช Testing
- ๐ŸŽจ UI/UX improvements
- ๐Ÿ”’ Security audits

---

## ๐Ÿ’ฌ Support

### Get Help



Telegram

**Join our Telegram community for:**
- ๐Ÿ“ข Latest updates and announcements
- ๐Ÿ’ฌ Discussion with other developers
- ๐Ÿ› Bug reports and feature requests
- ๐Ÿค Collaboration opportunities
- ๐Ÿ“š Tutorials and guides

### Contact

| Channel | Link |
|---------|------|
| **Telegram Community** | [@SpiralTechDivision](https://t.me/SpiralTechDivision) |
| **GitHub Issues** | [Report a Bug](https://github.com/pranav291/ghost-messenger/issues) |
| **Email** | support@spiraltech.dev |

### FAQ

Is Ghost Messenger really private?

Yes! We use end-to-end encryption for all messages. Even we cannot read your messages. Ghost Mode ensures messages are deleted from our servers after the set time.

Is it free to use?

Ghost Messenger is completely free and open source. We don't have ads, and we don't sell your data. We may introduce optional premium features in the future to sustain development.

When will it be released?

The official release is planned for **February 22, 2027**. However, you can build and run the app from source right now!

Can I contribute?

Absolutely! We welcome contributions of all kinds. Check out our Contributing section above.

---

## ๐Ÿ“„ License

```
MIT License

Copyright (c) 2022-2027 Spiral Tech Division

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

---

## ๐Ÿ‘จโ€๐Ÿ’ป Developer

Pranav Ajay


Founder & Lead Developer



Telegram


GitHub

---

Spiral Tech Division


Building the future of private communication



Join Telegram

---


Made with โค๏ธ in India


Release Date


ยฉ 2022-2027 Spiral Tech Division. All rights reserved.

---


โญ Star this repo if you find it useful! โญ