Pudi-Sravan / slack-clone

https://slack-clone-bk2hwmcry-pudi-sravans-projects.vercel.app/signing-pages
0 stars 2 forks source link

Slack Clone

Tech Stacks Used

Features Overview

Authentication

Homepage Features

  1. Todo List

    • Create, view, and delete personal todo lists.
  2. Google Calendar Integration

    • Authenticate with Google to manage events in the primary Google Calendar linked to the user's account.
  3. Direct Messaging

    • Initiate and manage conversations, share text and images (up to 50MB).
  4. Channel Management

    • Create channels, add/remove admins, assign/delete tasks to channel members and assign task to any member of the channel also, direct message members,channel deletion.
    • Role-based access (Admin, Member).
  5. Search Functionality

    • Search for channels and users(with whom conversation is started) within the Slack Clone.
  6. Responsive Design

    • User interface adapts to different screen sizes for optimal user experience.

Setup Instructions

Environment Variables

Database Tables

  1. user_data:

    • Columns:
      • id (uuid)
      • updated_at (timestamp)
      • username (text)
      • avatar_url (text)
      • email (text)
      • phone (text)
      • hashed_password (text)
    • Purpose: Stores user information including username, avatar URL, email, phone number, and hashed password.
  2. direct_messages:

    • Columns:
      • id (uuid)
      • created_at (timestamp)
      • dm_chats (json or jsonb)
    • Purpose: Stores contact information related to direct messaging.
  3. chats_dm:

    • Columns:
      • id (uuid)
      • created_at (timestamp)
      • messages (json or jsonb)
    • Purpose: Stores direct messages between users.
  4. channels_messages:

    • Columns:
      • channel_id (uuid)
      • created_at (timestamp)
      • messages (json or jsonb)
      • channel_name (text)
      • channel_members (json or jsonb)
    • Purpose: Stores messages and metadata for channels.
  5. channels_list:

    • Columns:
      • id (uuid)
      • created_at (timestamp)
      • channels (json or jsonb)
    • Purpose: Lists channels that a user is a member of.
  6. Todo_list:

    • Columns:
      • id (uuid)
      • created_at (timestamp)
      • todo_list (json or jsonb)
    • Purpose: Stores user-specific todo lists.
  7. Mails_sent:

    • Columns:
      • task_id (uuid)
      • created_at (timestamp)
      • last_sent (text)
      • t_f (bool)
    • Purpose: Tracks emails sent as reminders for tasks.
  8. Channels_todolist:

    • Columns:
      • id (uuid)
      • created_at (timestamp)
      • todo_list (json or jsonb)
    • Purpose: Stores tasks assigned to everyone in a channel.