Skip to content

adeolaadeoti/slack-clone-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slack Clone Api Repository

Table of Contents

Introduction

Slack clone is a powerful team collaboration platform that allows you to communicate and collaborate with your team members in real-time. Whether you're working remotely or in the same office, our application provides a seamless and efficient way to stay connected.

Screenshot

Features

  • Real-time chat and messaging
  • Channel-based communication
  • Direct messaging between users
  • File and media sharing
  • Customizable notifications
  • Message Replies (Threads)
    • Start threads to reply to specific messages in a conversation.
    • Keep discussions organized and focused.
  • Huddle with Other Users
    • Create private huddles for group discussions.
    • Collaborate with select team members in a secure environment.

Getting Started

Installation

  1. Clone the repository:

    git clone https://github.com/adeolaadeoti/slack-clone-api.git
  2. Change to the project directory:

    cd slack-clone-api
  3. Install dependencies:

    yarn
  4. Set up environment variables:

    Create a .env file in the root directory of the project and add the necessary environment variables, including your database connection details and any API keys.

    MONGODB_URI=
    JWT_SECRET=
    JWT_EXPIRE=30d
    SMTP_USERNAME=
    SMTP_PASSWORD=
    MONGODB_DB_NAME=slack-clone-dev
    NODE_ENV=development
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
    CLIENT_URL=http://localhost:3000
    API_URL=http://localhost:8080/api/v1
    
  5. Start the application:

    yarn start
  6. Access the application at http://localhost:8080.

Usage

User Registration

  1. Visit the application's URL.

  2. Click on the "Sign Up" or "Register" button to create a new user account.

  3. Fill out the registration form with your details.

  4. Once registered, you can log in with your credentials.

Creating Channels

  1. After logging in, you can create a new channel by clicking on the "Create Channel" button.

  2. Choose a name and description for your channel.

  3. Invite team members to join the channel.

Sending Messages

  1. To send a message in a channel, click on the channel's name in the left sidebar.

  2. Type your message in the input field at the bottom of the chat window and press Enter to send.

  3. You can also send direct messages to other users by clicking on their name in the user list.

Message Replies (Threads)

  1. To start a thread in response to a specific message:

    • Hover over the message you want to reply to.

    • Click on the "Reply" or "Start Thread" button.

    • Type your reply in the thread and send it.

  2. Keep discussions organized by using threads to respond to messages.

Huddle with Other Users

  1. To create a private huddle:

    • Click on the "Huddle" button in the sidebar.

    • Select the users you want to include in the huddle.

    • Start your private conversation.

  2. Huddles provide a secure environment for group discussions with select team members.

Contributing

We welcome contributions from the community.

License

This project is licensed under the MIT License.