Talksy is a full-stack real-time chat application built with React, Express, Socket.io, and MongoDB. It supports user authentication, online presence, and instant messaging.
- User signup, login, and profile update
- Real-time messaging with Socket.io
- Online users indicator
- Responsive UI (mobile & desktop)
- Toast notifications for actions
- Avatar/profile picture support
- Frontend: React, Zustand, Vite, Socket.io-client, react-hot-toast
- Backend: Express, MongoDB, Socket.io
- Other: Cloudinary (for profile pics), dotenv, cookie-parser, cors
- Node.js & npm
- MongoDB (local or Atlas)
git clone https://github.com/Brxj19/talksy.git
cd talksyBackend:
cd backend
npm installFrontend:
cd ../frontend
npm installCreate .env files in both backend and frontend folders.
Backend .env example:
PORT=5001
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
NODE_ENV=development
CLOUDINARY_URL=your_cloudinary_url
Frontend .env example (optional):
VITE_API_URL=http://localhost:5001/api
Backend:
npm run devFrontend:
npm run devOpen http://localhost:5173 in your browser.
Talksy/
backend/
src/
index.js
controller/
lib/
middleware/
models/
routes/
seeds/
frontend/
src/
components/
skeletons/
constants/
pages/
store/
lib/
assets/
main.jsx
index.html
npm run dev- Start development servernpm run build- Build for production
- The backend serves the frontend build in production mode.
- Update CORS and environment variables for your deployment.
MIT
**Made with ❤️ by Brxj19