Textory is a real-time chat application built using the MERN Stack (MongoDB, Express.js, React, Node.js) and powered by Socket.IO for live two-way communication.
It allows users to create accounts, log in securely, and chat instantly with others in real time.
The frontend is developed with React, styled using Tailwind CSS and DaisyUI, while Zustand efficiently manages global state.
Users can also customize their chat interface with 35 pre-integrated UI themes, enhancing personalization and user engagement.
Cloudinary is integrated for image storage, and JWT authentication ensures secure communication between client and server.
Textory offers a modern, fast, and responsive experience for staying connected anytime, anywhere.
Textory = Text + Story
It represents a platform where every conversation becomes a story — a connection that continues to grow in real time.
- Real-time chat system using Socket.IO
- Global state management using Zustand
- Profile management for users
- User authentication and secure sessions with JWT
- Online users list - showing active users in real time
- Password hashing and security using bcrypt
- Cloudinary integration for storing images
- Responsive and modern UI built with Tailwind CSS and DaisyUI
- 35 pre-integrated UI themes to personalize the UI/UX and chat experience
- Deployed Backend on Render and Frontend on Vercel
- Frontend: React, Socket.IO Client, Tailwind CSS, DaisyUI, Zustand, React Router, Axios, React Hot Toast, Lucide React, React Icons
- Backend: Node.js, Express.js, MongoDB, Mongoose, Socket.IO, JWT
- Authentication & Security: JWT, bcryptjs, cookie-parser, dotenv
- State Management: 35 UI Themes, Responsive Design
- UI/UX Enhancements: Zustand
- Deployment: Render (Backend), Vercel (Frontend)
git clone <textory-repo-url>
OR
git clone https://github.com/OmkarArdekar12/Textory.git
cd backend
npm install
npm run dev # runs the server with nodemon in development mode
OR
cd backend
npm i
npm start
cd frontend
npm install
npm run dev
PORT=5001 or your_port
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_CLOUD_API_KEY=your_api_key
CLOUDINARY_CLOUD_API_SECRET=your_api_secret
FRONTEND_URL=http://localhost:5173 or your_frontend_url
NODE_ENV=development or production in deployment (optional)
VITE_BACKEND_URL=http://localhost:5001 or your_backend_url
