Building a Chat Realtime App using the MERN stack. Frontend with React and Backend with Node.js, Express & Socket.io.
![chat-socketio](https://private-user-images.githubusercontent.com/50306963/329788917-bf26f36d-eb27-4ff6-b2ee-8876d812bf4e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NDM5NTYsIm5iZiI6MTcxOTc0MzY1NiwicGF0aCI6Ii81MDMwNjk2My8zMjk3ODg5MTctYmYyNmYzNmQtZWIyNy00ZmY2LWIyZWUtODg3NmQ4MTJiZjRlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDEwMzQxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgwYTQ1Y2MzMDhhNmFlZGUwNTJhOWU5N2YxOTNjODRjNTdmY2JmMzIwODg2NGM2NDBkMmMwODI5ZjE4NmQyYTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xQOoWk1F6qSkKuQXmpvavvSGqz1Exr6s9aEGx0woxgQ)
- Realtime Chat
- Authentication
- Online/Offline Status
- Check available users
- Update the
.env.example
toenv
file with your MongoDB connection string and JWT secret. - Install the dependencies for the backend and frontend.
- Enjoy
- express - bun add express
- socket.io - bun add socket.io
- nodemon - bun add -D nodemon
- dotenv - bun add dotenv
- cookie-parser - bun add cookie-parser
- bcrypt - bun add bcrypt
- jsonwebtoken - bun add jsonwebtoken
- mongoose - bun add mongoose
openssl rand -base64 32
- tailwindcss - bun add -D tailwindcss postcss autoprefixer
- daisyui - Tailwind CSS Components
- react-icons - Icons for React
- react-router-dom - Routing for React
- react-hot-toast - Toast for react
- axios - Promise based HTTP client for the browser and node.js
- zustand - State management for React
- socket.io-client - Socket.io client for React
link - https://www.npmjs.com/package/daisyui
bun add -D daisyui
add config to tailwind.config.js
import daisyui from "daisyui"
module.exports = {
theme: {
extend: {},
},
plugins: [require("daisyui")],
}