Skip to content

soumadip-dev/Slackify-MERN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Slackify πŸ’¬

A full-stack Slack-inspired communication app featuring real-time messaging, threads, reactions, polls, file sharing, 1-on-1 and group video calls with screen sharing, and more.

Auth Page Chat Page Call Page
Auth Page Chat Page Call Page

Live:

Slackify

🌟 Features

  • πŸ’¬ Real-time Messaging – With threads, reactions, and pinned messages
  • πŸ“€ File Sharing – Supports images, PDFs, ZIPs, and more
  • πŸ“Š Polls – Multiple options, anonymous mode, suggestions, and comments
  • πŸ” Clerk Authentication – Secure onboarding and user management
  • πŸ‘₯ Channels & DMs – Direct Messages and Private Channels
  • πŸŽ₯ Video & Screen Sharing – 1-on-1 and group video calls with screen sharing & recording
  • ❀️ Live Reactions – Real-time during video calls
  • βš™ Background Jobs – Powered by Inngest
  • πŸš€ Scalable Backend – Built using Stream for media and messaging pipelines

βš™οΈ Tech Stack

  • 🎨 Frontend: React.js, Tailwind CSS
  • πŸš€ Backend: Node.js, Express.js
  • πŸ—„ Database: MongoDB
  • πŸ“‘ Real-time Communication: Stream
  • πŸ” Authentication: Clerk
  • βš™ Background Jobs: Inngest

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • MongoDB Atlas account (or local MongoDB instance)

Setup

  1. Clone the repository

    git clone https://github.com/soumadip-dev/Slackify-MERN.git
    cd Slackify-MERN
  2. Backend Setup

    cd server
    npm install

    Create a .env file in the server directory with:

    PORT=8080
    MONGO_URI=<YOUR_MONGODB_URI>
    NODE_ENV=development
    CLERK_PUBLISHABLE_KEY=<YOUR_CLERK_PUBLISHABLE_KEY>
    CLERK_SECRET_KEY=<YOUR_CLERK_SECRET_KEY>
    STREAM_API_KEY=<YOUR_STREAM_API_KEY>
    STREAM_API_SECRET=<YOUR_STREAM_API_SECRET>
    INNGEST_EVENT_KEY=<YOUR_INNGEST_EVENT_KEY>
    INNGEST_SIGNING_KEY=<YOUR_INNGEST_SIGNING_KEY>
  3. Frontend Setup

    cd ../client
    npm install

    Create a .env file in the client directory with:

    VITE_CLERK_PUBLISHABLE_KEY=<YOUR_CLERK_PUBLISHABLE_KEY>
    VITE_STREAM_API_KEY=<YOUR_STREAM_API_KEY>
  4. Run the Application

    • Backend (Terminal 1):
      cd server
      npm run dev
    • Frontend (Terminal 2):
      cd client
      npm run dev

About

Slack-inspired MERN app with real-time chat, threads, polls, file sharing, and video calls.

Topics

Resources

Stars

Watchers

Forks

Languages