Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adeolaadeoti/slack-clone-api
a MERN stack slack clone api
https://github.com/adeolaadeoti/slack-clone-api
express mern mongodb nodejs slack slack-api slack-app slack-clone typescript webrtc
Last synced: 28 days ago
JSON representation
a MERN stack slack clone api
- Host: GitHub
- URL: https://github.com/adeolaadeoti/slack-clone-api
- Owner: adeolaadeoti
- License: mit
- Created: 2023-08-02T02:47:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-19T23:37:23.000Z (over 1 year ago)
- Last Synced: 2024-05-15T15:30:08.591Z (7 months ago)
- Topics: express, mern, mongodb, nodejs, slack, slack-api, slack-app, slack-clone, typescript, webrtc
- Language: TypeScript
- Homepage: https://slack-clone-client.vercel.app/register
- Size: 2.46 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Slack Clone Api Repository
- Client repository https://github.com/adeolaadeoti/slack-clone-client## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Usage](#usage)
- [User Registration](#user-registration)
- [Creating Channels](#creating-channels)
- [Sending Messages](#sending-messages)
- [Message Replies (Threads)](#message-replies-threads)
- [Huddle with Other Users](#huddle-with-other-users)
- [Contributing](#contributing)
- [License](#license)## 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](https://res.cloudinary.com/adeolaadeoti/image/upload/v1695161023/screenshot_jsd2mf.png)
## 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:
```bash
git clone https://github.com/adeolaadeoti/slack-clone-api.git
```2. Change to the project directory:
```bash
cd slack-clone-api
```3. Install dependencies:
```bash
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.
```plaintext
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:
```bash
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](LICENSE).