Skip to content
/ Tawk Public

A Scalable Chat Application with Media sharing , Video calling using Mediasoup , WebSockets,Apache Kafka , Redis , AWS S3 , Node Js , Typescript , Postgresql and Prisma

Notifications You must be signed in to change notification settings

Tiru-99/Tawk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Tawk

Introduction

Tawk is a realtime communication suite with video calling and media sharing feature, and scalable message pipeline built my Apache Kafka and Redis Pub/Sub architecture



Tech Stack

Layer Tech
Framework Next.js, Express.js
Database PostgreSQL with Prisma ORM
Pub Sub amd Messaging Redis, Kafka
Object Storage [AWS S3]
Video Call Mediasoup
Authentication Built from scratch
UI TailwindCSS + ShadCN/UI + TypeScript
Deployment Vercel (frontend ) , EC2 + nginx (backend)

Setup Instructions

Follow these steps to set up Tutorr locally on your system.


Clone the Repository

git clone https://github.com/Tiru-99/Tawk
cd tawk

Add Environment Variables

You need to create .env files in the following locations:


Sample .env Configuration

# Env for frontend folder 
NEXT_PUBLIC_BACKEND_URL =http://localhost:5000 or your prod link 
NEXT_PUBLIC_BUCKET_NAME = your s3 bucket name  # Make sure the bucket is public 


# Env for backend folder


DATABASE_URL=
JWT_SECRET =
FRONTEND_URL =http://localhost:3000
FRONTEND_URL_2=http://localhost:3000/call/234
AWS_ACCESS_KEY=
AWS_SECRET_ACCESS_KEY=
REDIS_PASSWORD=
REDIS_HOST=localhost
KAFKA_BROKER=
REDIS_PORT=6379
REDIS_URL=
NODE_ENV=development # or "production" if in prod
ANNOUNCED_IP= your device's public ip 

Installing dependencies and running the project

# Run this command at both frontend and backend folder to run the project
npm install
npm run dev

License

This project is licensed under the MIT License — see the LICENSE file for details.

About

A Scalable Chat Application with Media sharing , Video calling using Mediasoup , WebSockets,Apache Kafka , Redis , AWS S3 , Node Js , Typescript , Postgresql and Prisma

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages