A full-stack realtime chat platform with friends, notifications, and audio/video calling.
DashChat is designed for fast and private communication with modern UX patterns. It supports direct messaging, friend system workflows, notification feeds, and Stream-powered calling from the dashboard.
- Live App: Click Here
- Demo Video: Click Here
- Email/password authentication with protected dashboard routes
- Google OAuth login integration
- Realtime 1:1 messaging using Socket.IO
- Message delivery states (sent, delivered, seen)
- Edit/delete message and emoji reaction support
- Reply/forward message workflows
- Friend request system (send, accept, reject, unfriend, block/unblock)
- Notification feed for social actions
- Audio and video call support with Stream Video SDK
- Call lifecycle management (ringing, received, completed, missed, failed)
- Calls history with backend-driven pagination, search, filters, and sorting
- Multi-theme UI using DaisyUI themes
- Responsive public pages and dashboard layouts
- React 19
- Vite
- React Router
- TanStack Query
- Zustand
- Tailwind CSS + DaisyUI
- Axios
- Socket.IO Client
- Stream Video React SDK
- GSAP
- React Hot Toast
- Node.js
- Express 5
- MongoDB + Mongoose
- JWT + cookie based auth
- Socket.IO
- Stream Chat server SDK (token and member provisioning)
- Google APIs (OAuth code exchange)
- ESLint
- Nodemon
- Node.js 18+
- npm
- MongoDB database URI
- Stream API credentials
- Google OAuth credentials
- ImgBB API key (for image uploads)
https://github.com/somrat350/Dash-Chatnpm install
npm install --prefix backend
npm install --prefix frontendCreate backend .env inside backend:
PORT= your_port_here
DB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
# Comma-separated URLs allowed for CORS
CLIENT_URL=http://localhost:5173
NODE_ENV=development
SAME_SITE=lax
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
STREAM_API_KEY=your_stream_api_key
STREAM_API_SECRET=your_stream_api_secretCreate frontend .env inside frontend:
VITE_SERVER_URL=http://localhost:5000
VITE_GOOGLE_CLIENT_ID=your_google_client_id
VITE_IMG_BB_API=your_imgbb_api_keyBackend terminal:
cd backend
npm run devFrontend terminal:
cd frontend
npm run devFrontend default URL: http://localhost:5173
npm run build
npm run startDash-Chat/
backend/
src/
controllers/
routes/
models/
middleware/
lib/
frontend/
src/
components/
pages/
routes/
store/
layout/
- Osamabin Somrat | LinkedIn
- Arman Hossain Shuvo | LinkedIn
- Sabbir Hossain Sohag | LinkedIn
- Tangila Khatun | LinkedIn
- Lima Akter | LinkedIn
- China Akter | LinkedIn
