Skip to content

brandon-julio-t/slack-clone

Repository files navigation

Slack Clone

A modern Slack clone built with Next.js 15, React 19, and TypeScript. This project replicates Slack's core features with a focus on real-time communication, workspace management, and user interactions.

✨ Showcase

e2e.mp4
update.message.mp4

🚀 Tech Stack

✨ Features

  • Modern, responsive UI with dark/light mode support
  • Real-time messaging and presence
  • Server and channel management
  • User authentication and authorization
  • Type-safe API with tRPC
  • Form validation and error handling
  • Optimized performance with Next.js 15
  • Full TypeScript support
  • Optimistic create message

🛠️ Development

Step 1: Setup Infra

# setup .env
# remember to setup BETTER_AUTH_SECRET, hint: try `npx nanoid` or something
cp .env.example .env

# Install dependencies
bun install

# Setup DB
# Ideally prisma migrate dev, but for speed we use prisma db push
bun prisma db push

Step 2: Run the App

Option A: Run scripts/dev.sh

scripts/dev.sh

Option B: Open 3 terminals and run these commands

# Run Caddy reverse proxy to enable HTTP/2 to fix electric sql performance issue
# https://electric-sql.com/docs/guides/troubleshooting#slow-shapes-mdash-why-are-my-shapes-slow-in-the-browser-in-local-development
caddy run

# Start Docker containers (PostgreSQL and Electric SQL)
docker compose up

# Run development server
bun dev

📝 License

MIT License - feel free to use this project for learning and development purposes.


Create T3 App

This is a T3 Stack project bootstrapped with create-t3-app.

What's next? How do I make an app with this?

We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary.

If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our Discord and ask for help.

Learn More

To learn more about the T3 Stack, take a look at the following resources:

You can check out the create-t3-app GitHub repository — your feedback and contributions are welcome!

How do I deploy this?

Follow our deployment guides for Vercel, Netlify and Docker for more information.

About

Replication of Slack's core features with a focus on real-time data communication

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors