Skip to content

farazalidev/whatsapp-clone

Repository files navigation

📱 WhatsApp Web Clone (Next.js & Nest.js)

Welcome to the WhatsApp Web Clone repository! This project is a real-time chat application built with the powerful combination of Next.js and Nest.js. It leverages WebSockets for instant messaging, PostgreSQL with TypeORM for database management, Redis PubSub for scalable WebSocket handling, and Kafka for managing high throughput. Additionally, it exposes a REST API for various functionalities.

📖 Table of Contents

🌟 Features

  • ✉️ Realtime messaging
  • 📁 File sharing
  • 🎙️ Voice messages
  • 🖼️ Gallery Preview
  • 👤 Profile Preview
  • 📇 Contacts Management
  • 📞 P2P Voice and Video calls
  • 🔐 Authentication
  • 🔔 Push notifications
  • 🔔 In-app notifications
  • 📜 Message status indicators

🖼️ Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6

🛠️ Setup Locally

📋 Prerequisites

  1. Kafka: Installation Guide
  2. Redis: Installation Guide
  3. PostgreSQL:
  4. Open .env.example in all the projects and add the required environment variables.

🚀 Steps to Setup

  1. Clone the Repository:

    git clone https://github.com/farazalidev/whatsapp-clone
  2. Navigate to the Project Directory:

    cd whatsapp-clone
  3. Install Dependencies:

    npm install
  4. Setup Nx for Managing Monorepos:

  5. Run the Application:

    • Open https://localhost:4200 in your browser.

Enjoy building and expanding the functionalities of your very own WhatsApp Web Clone! 🚀