https://github.com/omkarardekar12/textory
Textory is a real-time chat application built with the MERN stack, integrated with Socket.IO for live messaging. The frontend uses React, Tailwind CSS and DaisyUI, with Zustand for state management. Users can create accounts, login, and chat in real time with other users. Additionally, Textory comes with 35 pre-integrated UI themes.
https://github.com/omkarardekar12/textory
axios daisyui express jwt-authentication mongodb mongoose nodejs react react-hot-toast react-router-dom render-deployment responsive-ui-design socket-io socket-io-client tailwindcss vercel-deployment zustand zustand-state-management
Last synced: 2 months ago
JSON representation
Textory is a real-time chat application built with the MERN stack, integrated with Socket.IO for live messaging. The frontend uses React, Tailwind CSS and DaisyUI, with Zustand for state management. Users can create accounts, login, and chat in real time with other users. Additionally, Textory comes with 35 pre-integrated UI themes.
- Host: GitHub
- URL: https://github.com/omkarardekar12/textory
- Owner: OmkarArdekar12
- Created: 2025-09-29T02:54:25.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-11-06T08:08:34.000Z (2 months ago)
- Last Synced: 2025-11-06T09:10:45.370Z (2 months ago)
- Topics: axios, daisyui, express, jwt-authentication, mongodb, mongoose, nodejs, react, react-hot-toast, react-router-dom, render-deployment, responsive-ui-design, socket-io, socket-io-client, tailwindcss, vercel-deployment, zustand, zustand-state-management
- Language: JavaScript
- Homepage: https://textory.vercel.app/
- Size: 3.46 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Textory - Real-time Chat Application
Textory - Stay Connect
### 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.
Textory
Live Link: https://textory.vercel.app
## Features
- 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
## Tech Stack
- 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)
## Installation
### Textory Installation
```
git clone
```
OR
```
git clone https://github.com/OmkarArdekar12/Textory.git
```
### Backend Setup
```
cd backend
npm install
npm run dev # runs the server with nodemon in development mode
```
OR
```
cd backend
npm i
npm start
```
### Frontend Setup
```
cd frontend
npm install
npm run dev
```
### Configuration
##### 1. Create a `.env` file in the backend folder with the following keys:
```
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)
```
##### Create a `.env` file in the backend folder with the following keys:
```
VITE_BACKEND_URL=http://localhost:5001 or your_backend_url
```