Skip to content

Bas3L3ss/slackzz-clone

Repository files navigation

⭐ If you like this project, please star the repository! ⭐


Slackzz Logo

Slackzz (clone) - Real-time Communication Platform

πŸ’‘ Overview

Slackzz is a modern real-time communication platform built with Next.js and Convex, designed to facilitate team collaboration and messaging. It provides a robust set of features for workspace management, channel-based communication, and direct messaging.

Websocket server (not deployed yet): https://github.com/Bas3L3ss/slackzz-websocket-server

🎬 Demo

πŸ” Seamless User Authentication

  • Register and login users effortlessly with OAuth

    login register

πŸ“¨ Realtime User Experience

  • Realtime features

    chatting calling-and-more connectivity

  • Pro subscription

    upgrade-user

  • And alot more!

    more

✨ Features

  • πŸ‘₯ Workspace Management: Create and manage multiple workspaces with customizable settings
  • πŸ“’ Channel Communication & Real-Time Calls: Create, join, and manage channels within workspaces, with support for real-time voice and video calls.
  • πŸ’¬ Direct Messaging: Private conversations between team members
  • πŸ”” Real-time Notifications: Instant notifications for mentions and messages
  • πŸ‘€ User Status: Track user online/offline status and custom status messages
  • πŸ” Authentication: Secure authentication with multiple providers
  • πŸ’³ Pro mode & Subscription Management: Pro-only features with Stripe integration
  • 🎨 Modern UI: Clean and responsive interface using Radix UI components
  • πŸ“± Cross-platform: Works seamlessly across desktop and mobile devices

πŸ‘©β€πŸ’» Tech Stack

  • Next.js 14: For server-side rendering and optimal performance
  • TypeScript: For type-safe code development
  • Convex: For real-time database and backend functionality
  • Radix UI: For accessible component primitives
  • Stripe: For payment processing
  • Auth.js: For authentication
  • Socket.io: For real-time connection
  • Redis: For key-value store
  • LiveKit: For real-time call features
  • Tailwind CSS: For responsive styling

πŸ“Š Performance Metrics

Metric Value
Avg. Message Delivery Time < 100ms
Concurrent Users 10,000+
WebSocket Reconnect Time < 2s
Video Call Quality HD (720p)
Database Query Time < 50ms
Server Uptime 99.9%

πŸš€ Technical Summary

  • Optimized for instant messaging and real-time interactions via Convex DB and WebSocket
  • Powered by complex data model and Convex backend for a seamless user experience
  • End-to-end encryption for private conversations
  • Well-managed user authenticated sessions with OAuth 2.0
  • Stripe webhook method of tracking pro-user subscriptions
  • Ensure application robustness with unit and integrated testing

πŸ“¦ Getting Started

πŸš€ Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Convex account
  • Stripe account (for payments)

πŸ› οΈ Installation

  1. Clone the repository:

    git clone https://github.com/Bas3L3ss/slackzz-clone
    cd slackzz-clone
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file with:

     NEXT_PUBLIC_CONVEX_URL = ...
     LIVEKIT_API_KEY=...
     LIVEKIT_API_SECRET=...
     NEXT_PUBLIC_LIVEKIT_URL=...
     STRIPE_SECRET_KEY=...
     STRIPE_WEBHOOK_SECRET=...
     NEXT_PUBLIC_URL=http://...
     STRIPE_PUBLISHABLE_KEY=...
     NEXT_PUBLIC_STRIPE_MONTHLY_PRICE_ID=...
     NEXT_PUBLIC_STRIPE_YEARLY_PRICE_ID=...
     UPLOADTHING_TOKEN=...
    
  4. Start the development server:

    npm run dev

πŸ“– Usage

Visit http://localhost:3000 to access the application. You can:

  • Create or join workspaces
  • Create and manage channels
  • Send direct messages
  • Manage user status
  • Set up workspace permissions
  • Configure notification preferences

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

A feature-rich Slack clone application delivering an immersive user experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages